我已經使用NSHashTable來存儲對對象的弱引用。當散列表中的對象被釋放並且散列表中的引用被置零時,指向nil的指針仍駐留在散列表中,是否正確?那麼隨着時間的推移,如果沒有直接從哈希表中刪除對象,哈希表將會繼續增大?現在,沒有簡單的方法可以向控制散列表的對象發送通知,以便其中一個散列表元素已被刪除(這是一個反饋調用意味着對象間通信非常間接的遊戲,並且最好保持這種狀態) 。我是否應該定期遍歷散列表以刪除無引用?哈希表中的弱引用
Q
哈希表中的弱引用
3
A
回答
7
這個問題發佈幾個月前,但記錄,NSHashTable 確實刪除發佈的弱引用。因此,要回答實際問題,不,您不需要定期迭代散列表。
1
我會做一個經理類負責添加和刪除你說的對象。因此,我會通知哈希表以幾種方式中的一種:直接通過方法調用(當哈希表由管理器引用)
- 觀察到任何加/通過使管理器發送通知到通知中心,其通知由哈希表聽取在管理器中刪除的操作
- 間接
這一切都取決於你如何將這些對象綁定在一起,哪些模型適合最實際的設計。
+0
太好了,謝謝。那些是好主意;我會考慮他們如何適合我所擁有的。 – user26691 2013-04-03 19:06:34
相關問題
- 1. F#中的哈希鏈接和.net中的弱哈希表
- 2. 哈希表鍵語法來引用嵌入哈希表元素
- 3. 引用Perl哈希
- 4. 哈希表中的搜索哈希
- 5. D中的SHA1索引哈希表
- 6. Perl中的哈希和哈希引用有什麼區別?
- 7. 解引用的哈希值
- 8. Perl哈希對同一哈希值內的哈希值的引用
- 9. 弱引用值的弱散列表?
- 10. 哈希表 - 將哈希值映射到索引
- 11. 哈希表vs哈希列表與哈希樹?
- 12. 如何在powershell中的哈希表中添加哈希表?
- 13. 引用變量中的變量 - 哈希?
- 14. 在Perl中引用散列的哈希
- 15. perl不是哈希引用
- 16. Perl - 取消引用哈希
- 17. 形式的哈希表 - 在Java中的<key,哈希表>
- 18. 哈希表的索引設計
- 19. 使用SQL查詢結果中的主鍵創建哈希表的哈希表作爲哈希表鍵值
- 20. 取消引用HTML :: Element哈希引用
- 21. 如何取消引用哈希引用
- 22. 哈希表中的哈希表和同步
- 23. 如何在Racket中定義哈希表的哈希表?
- 24. 如何保持哈希表中哈希表元素的順序
- 25. 哈希哈希在Perl中
- 26. 使用哈希表的PowerShell
- 27. PowerShell的:使用哈希表
- 28. ocaml中的哈希表
- 29. 是Java中的哈希表
- 30. Python中的哈希表
我不認爲當對象被釋放時表格的大小應該增大。沒有空指針會留在表中,但它們將被刪除。 _這些只是我的想法,它應該如何工作,並沒有自己嘗試._ – Tricertops 2013-04-03 19:23:43