我已经使用NSHashTable来存储对对象的弱引用。当散列表中的对象被释放并且散列表中的引用被置零时,指向nil的指针仍驻留在散列表中,是否正确?那么随着时间的推移,如果没有直接从哈希表中删除对象,哈希表将会继续增大?现在,没有简单的方法可以向控制散列表的对象发送通知,以便其中一个散列表元素已被删除(这是一个反馈调用意味着对象间通信非常间接的游戏,并且最好保持这种状态) 。我是否应该定期遍历散列表以删除无引用?哈希表中的弱引用
Q
哈希表中的弱引用
3
A
回答
7
这个问题发布几个月前,但记录,NSHashTable 确实删除发布的弱引用。因此,要回答实际问题,不,您不需要定期迭代散列表。
1
我会做一个经理类负责添加和删除你说的对象。因此,我会通知哈希表以几种方式中的一种:直接通过方法调用(当哈希表由管理器引用)
- 观察到任何加/通过使管理器发送通知到通知中心,其通知由哈希表听取在管理器中删除的操作
- 间接
这一切都取决于你如何将这些对象绑定在一起,哪些模型适合最实际的设计。
+0
太好了,谢谢。那些是好主意;我会考虑他们如何适合我所拥有的。 – user26691 2013-04-03 19:06:34
相关问题
- 1. F#中的哈希链接和.net中的弱哈希表
- 2. 哈希表键语法来引用嵌入哈希表元素
- 3. 引用Perl哈希
- 4. 哈希表中的搜索哈希
- 5. Perl中的哈希和哈希引用有什么区别?
- 6. Perl哈希对同一哈希值内的哈希值的引用
- 7. 哈希表vs哈希列表与哈希树?
- 8. 如何在powershell中的哈希表中添加哈希表?
- 9. 在Perl中引用散列的哈希
- 10. Perl - 取消引用哈希
- 11. perl不是哈希引用
- 12. 形式的哈希表 - 在Java中的<key,哈希表>
- 13. 哈希表的索引设计
- 14. 使用SQL查询结果中的主键创建哈希表的哈希表作为哈希表键值
- 15. 取消引用HTML :: Element哈希引用
- 16. 使用哈希表的PowerShell
- 17. PowerShell的:使用哈希表
- 18. 是Java中的哈希表
- 19. C#中的哈希表ArrayList#
- 20. python中的哈希表
- 21. 哈希表中的JavaScript
- 22. 哈希打印表哈希perl
- 23. Perl的哈希数组 - 引用数组中的每个哈希值?
- 24. Java的哈希表
- 25. 如何在Perl中引用哈希引用中的标量?
- 26. 使用C++将哈希表复制到另一个哈希表
- 27. Perl访问哈希/哈希引用数据结构中的元素
- 28. 带格式列表的哈希表转换回哈希表powershell
- 29. 用哈希表的密钥克隆从哈希表中检索值; C#
- 30. 红宝石哈希使用rjb的java哈希表
我不认为当对象被释放时表格的大小应该增大。没有空指针会留在表中,但它们将被删除。 _这些只是我的想法,它应该如何工作,并没有自己尝试._ – Tricertops 2013-04-03 19:23:43