對於swift中delegate的我的理解

前言: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)
    }
}
相關文章
相關標籤/搜索