个人总结, 代理的使用需要五个步骤:
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
}
}