swift 中闭包的写法与使用
1没有参数没有返回值得情况
let b1 = {
print("闭包")
}
b1()
2没有参数,有返回值的情况 ,
let b2 = {
() -> (Int) in
return 123
}
print(b2())
3有参数 没有返回值 要用in 隔开
let block = {
(num : Int) in
print("输入了\(num)")
}
block(123)
4有参数 有返回值的情况 要用 in 隔开
let b4 = {
(intNum : Int) -> (Int) in
return intNum
}
懒加载的写法
lazy var aba : UILabel = {
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 120, height: 123))
label.text = "label"
label.textColor = UIColor.red
return label
}()
网络请求
func loadData () {
DispatchQueue.global().async {
// 拿到数据
print("当前线程\(Thread.current)")
// 回到主线程
DispatchQueue.main.async(execute: {
print("当前线程\(Thread.current)")
})
}
}