天天看點

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()
           

繼續閱讀