1
在swift 2.0或更高版本中,有沒有一種方法可以在不調用objective-c的情況下觀察另一個類中的屬性更改?可能用swift來觀察另一個類中的屬性
我已經看到幾個在線的例子,他們都使用Objective-C的API。
在swift 2.0或更高版本中,有沒有一種方法可以在不調用objective-c的情況下觀察另一個類中的屬性更改?可能用swift來觀察另一個類中的屬性
我已經看到幾個在線的例子,他們都使用Objective-C的API。
不,沒有辦法在Swift中不使用Objective-C鍵值觀察來遠程觀察屬性更改。
KVO只是圍繞通知觀察者的代碼包裝屬性setter。儘管如此,它暗含了它。所以請明確說明。
我知道KVO不是魔術,也不反對。它有時會覺得笨重,但有點矯枉過正。我更希望迅捷有一個更簡單,更輕的方法來完成這項任務。 – shatterpaw
無法在不調用Objective-C API的情況下編寫iOS應用程序。因此我不會擔心要避免這些。也就是說,KVO是你所追求的技術,它只支持從NSObject繼承的對象,所以在這種情況下,使用這個API確實會施加一些限制(例如,你不能在Swift結構上使用KVO,因爲它們不能從NSObject繼承。) –
我想你可以通過協議和'didSet'和/或'willSet'來使用委託。 – Moritz