前言:delegate的中文翻译就是委托。swift
我的认为委托是有三个角色共同完成的。函数
分别是:委托人、中介、任务执行。翻译
看别人的博文是将delegate比做是老板的一个秘书的,委托人是老板,执行任务的技术员。code
1. 中介,就是一个委托协议,以下:class
protocol AgencyDelegate { func out(str: String) }
2. 委托人,委托要作的工做就是提供情报(传参)test
class Client { var delegate: AgencyDelegate? delegate.out("i am delegate") //提供情报”i am delegate“ }
3.任务执行,根据委托人提供的情报,完成相应工做(具体实现协议的函数)技术
class Execute: AgencyDelegate { let test = Client(); test.delegate = self func out(str: String) { print(str) } }