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