对于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)
    }
}
相关文章
相关标签/搜索