我完全不知道這是否可能,但它可以使我免於很多壓力和糟糕的代碼。是否有可能監視一個數組何時更新?例如,方法A將數組a=[1,2,3]
更改爲a=[1,2,3,4
],是否有可能在更新a
時觸發某種代理?監視對數組對象的更改
11
A
回答
20
如果您的數組是您的類中的屬性,則可以使用屬性觀察器。 willSet在更改之前調用,didSet在之後調用。這很容易。
var myArray:[Int] = [1, 3, 4] {
didSet {
println("arrayChanged")
}
}
這將打印數組改變,如果我一個int,刪除和Int,等我通常把它放在同一行,但:
var myArray:[Int] = [1, 3, 4] { didSet { println("arrayChanged") } }
+0
正是我在找的東西,謝謝。 – 2015-02-11 01:44:07
+0
謝謝,這是非常有幫助的 – 2017-03-10 03:26:39
+6
有什麼辦法來監視內部數組的變化?像myArray.append(x)? – 2017-10-06 12:29:41
相關問題
- 1. 正在監聽數組中的更改的JavaScript對象
- 2. 監視對象變化的Python對象
- 3. 監督對象屬性值的更改
- 4. 更改對象數組中的數據
- 5. 有沒有辦法監視對象的更改?
- 6. 更改對象數組的順序
- 7. 在對象的數組更改屬性
- 8. 監視對數據庫和更新列表的更改
- 9. 在對象數組中找到已更改的對象
- 10. 更多對象屬性與數組對象的更少對象
- 11. Java對象監視器
- 12. json_encode更改數組與對象
- 13. 使用循環更改數組對象
- 14. 修改對象的數組
- 15. Angular2監視對象/數組的變化(Angular2 final> = 2.1.1)
- 16. 在更新數組中的內部對象時不執行監視
- 17. 更改視頻對象的註冊點
- 18. Angluar2 Observable UI - 更新對象數組中的子對象強制更改?
- 19. 監視對對象字段的數據「從外面」
- 20. 修改數組對象
- 21. 修改數組對象
- 22. js,對象的狀態監視
- 23. 通過JConsole的多對象監視器
- 24. 監視pdb中對象的狀態
- 25. 如何監視Spring對象的創建?
- 26. 對象數組vs對象屬性數組 - 哪個更有效?
- 27. 從對象數組嵌套對象結構更改爲一個共同的對象和刪除對象
- 28. 對象更改後對數組\列表排序
- 29. 如何在更改數組中的變量後獲取對象數組並更新對象數據文件?
- 30. C++中對象的多態數組更改對象的詳細信息
爲什麼不執行自己的協議觀察到,使陣列有問題符合? – 2015-02-11 01:14:38
或者製作一個包裝器對象,在更新數組時,調用didChangeArray()或翻轉可以檢查的公共布爾值。 – 2015-02-11 01:16:46
這是在這裏睡覺的時候了。我明天會提供它(除非有人提出了一個聰明的想法) – 2015-02-11 01:20:32