1
我試圖做的是通知一個對象,當它被替換爲我的服務對象的委託時。我想知道如果有一種方式來創建willSet的默認implamintation所以我沒有重複的代碼爲每個服務對象的創建:是否有可能在類協議上創建willSet的默認實現
protocol BaseServiceDelegate: class {
var delegate: BaseServiceDelegate? {get set}
func servicesDelegateReferanceWasRemoved(service: BaseServiceDelegate)
}
extension BaseServiceDelegate {
willSet(newValue){
delegate?.servicesDelegateReferanceWasRemoved(self)
self = newValue
}
}
我真的不知道從哪裏開始擴展的語法或者如果這是可能的。與上面的代碼錯誤是對「willSet」行:「Exspected宣言」 謝謝您的時間 仍然不知道它可能的,但我做了一些修改,以確保您可以訪問委託對象定義
我認爲你可能爲了更好地理解協議及其擴展,請花一點時間在這個文檔上:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html#//apple_ref/ doc/uid/TP40014097-CH25-ID267 – dudeman
你是想讓一個[property observer]爲整個實例工作,還是隻是創建一個默認的函數來在屬性觀察器中執行? –
因此,一個'BaseServiceDelegate'具有'BaseServiceDelegate'類型的'delegate'屬性? :) –