gre*_*reg 4 macos cocoa objective-c ios nshashtable
我正在使用弱对象NSHashTable报告计数为1,即使它是空的.以下是lldb输出显示我的情况.
p [__operationWaitList count]
(NSUInteger) $4 = 1
p [__operationWaitList.allObjects count]
(NSUInteger) $7 = 0
Run Code Online (Sandbox Code Playgroud)
我最好的猜测是count计算存储在NSHashTable中的弱引用的数量,而不是有效对象的数量.通过调用allObjects然而,我正在取消引用没有有效对象的指针,因此生成的对象数组为空.
我想确认这一点,因为文档在这一点上有点缺乏.
实验结果,非详尽测试,建议:
您的观察是正确的,count返回哈希表中当前引用的数量,其中一些引用可能为空.
此外,您观察到的allObjects.count总是返回非空引用的数量.
添加新的不同对象似乎可以清除空引用.
有关此问题的文档不明确.
建议您向Apple提交错误报告,他们应该修复实现或文档.
| 归档时间: |
|
| 查看次数: |
820 次 |
| 最近记录: |