美文网首页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