天天看点

Swift 中的代理 (Delegate)

Swift 代理

  • 代理是一种设计模式。它允许类或者结构体将自身负责的功能委托给其他的类型的实例去实现

    代码示例

protocol GetFile {
    func take() -> String
}

class Boss {

    var delegate : GetFile
    init(man : GetFile) {
        delegate = man
    }
    func take() -> String {
        return delegate.take()
    }
}

class Assistant : GetFile {

    func take() -> String {
        return "给Boss 拿文件"
    }
}

let assistant = Assistant()
let boss = Boss(man: assistant)
boss.take()
           

继续阅读