Swift-代理方法的使用

虽然 Swift 中闭包的功能非常强大, 但代理也不可替代, 各有各的好处, 合适的, 才是最好的!


个人总结, 代理的使用需要五个步骤:

  • 1.设置代理协议,定义可选或者必选方法
  • 2 声明一个delegate属性
  • 3 过滤代理,实现代理方法
  • 4 接收代理
  • 5 实现代理方法

具体实现步骤如下:

设置代理控制器需要做的事

1 设置代理协议,定义可选或者必选方法
@objc protocol XMTestDelegate {

   /// 定义可选方法
   @objc optional func sendDataToBack(str: String)

   /// 定义必选方法
   func sendData2Back(str: String)

}

2 声明一个delegate属性,用可选项代替”weak”,防止循环引用
    var delegate: XMTestDelegate?

3 过滤代理,实现代理方法
   if delegate != nil {

       delegate?.sendData2Back(str: "goodBye 2016")
       delegate?.sendDataToBack!(str: "hello 2017")

    }

接收代理控制器需要做的事

4 接收代理
     testVC.delegate = self

5 实现代理方法

extension XMTestViewController: XMTestDelegate {

    func sendDataToBack(str: String) {
        print(str) // hello 2017
    }

    func sendData2Back(str: String) {
        print(str) // goodBye 2016
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值