1.实现:
import UIKit
class AFNetHttp: NSObject {
//闭包类型 : (参数列表)->(返回值类型)
///获取数据
func loadData(callBack : @escaping (_ result : String) -> ()) {
//并列异步
DispatchQueue.global().async {
print("异步:%@",Thread.current);
//串联同步
DispatchQueue.main.sync {
print("主线程%@",Thread.current);
//调用闭包
callBack("result")
}
}
}
}
2.调用:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
//override 重写父类的方法
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
// 尾随闭包,如果闭包作为方法的最后一个参数,那么闭包可以将()省略掉
//0.
AFNetHttp.init().loadData { (result) in
print("%@",result);
}
//1
AFNetHttp.init().loadData() { (result) in
print("%@",result);
}
//2
AFNetHttp.init().loadData (callBack: { (result) in
print("%@",result);
})
}
//释放
deinit {
print("释放");
}
}
网友评论