美文网首页swift
20.swift-block

20.swift-block

作者: ChaosHeart | 来源:发表于2021-07-23 17:13 被阅读0次

    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("释放");
        }
        
    }
    

    相关文章

      网友评论

        本文标题:20.swift-block

        本文链接:https://www.haomeiwen.com/subject/dprzlltx.html