swift 委托的用法

来源:互联网 发布:unity3d游戏大全 编辑:程序博客网 时间:2024/05/29 07:38

委托在我的理解是:A要做的事情很多忙不过来或事情需要别人帮忙才能做成,就把其中一些事情通过协议委托给B做。

具体步骤是:首先A需要先定义协议(协议里包括需要B做的事),然后在需要B做事的时候通过之前定义的协议发出委托;而B需要做的是先实现协议,然后在接到委托的时候做事。


第一步:A定义协议

 //在swift中定义委托协议
protocol exampleDelegate: NSObjectProtocol {
    //保存按键回调(A需要B在用户按保存按键时做出反应)
    func SaveBtnWillClick()
    
}

第二步:在需要用到代理回调的类中定义委托对象

class exampleViewController: UIViewController {

    //定义一个属性保存代理对象,一定要加上weak,避免循环引用
    weak var delegate: exampleDelegate?

@IBAction func btnSaveClick(_ sender: Any) {
第三步:在需要发出消息的地方(保存按键点击事件)发出委托
 delegate?.SaveBtnWillClick() 

   }

 override func viewDidLoad() {
        super.viewDidLoad()

    }


}


第四步:在委托对象类(即B)实现协议方法
class anotherExample:  UIViewController, exampleDelegate {

     //MARK: exampleDelegate
     func SaveBtnWillClick() {
       第五步:B接收到A的委托了,要开始做事
       //exampleView的保存按钮点击了,做点事吧

}

}






原创粉丝点击