前言: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) } }