【发布时间】:2012-05-28 13:02:03
【问题描述】:
我有关注NSCountedSet
<NSCountedSet: 0x53dfc0> (item1 [2000], item2 [9000], item3 [200], item4 [3000])
现在我想从我的集合中删除 item1 对象。
一种解决方案是
while([mySet countForObject:item1])
[mySet removeObject:item1];
输出:
<NSCountedSet: 0x53dfc0> (item2 [9000], item3 [200], item4 [3000])
或者我只想从我的集合中删除 1000 个 item1 对象。
NSUInteger count = [mySet countForObject:item1];
while(count)
{
[mySet removeObject:item1];
--count;
}
输出:
<NSCountedSet: 0x53dfc0> (item1 [1000], item2 [9000], item3 [200], item4 [3000])
有没有更好的解决方案?
【问题讨论】:
-
如果你知道对象“item1”,你可以直接调用“removeObject”而不需要循环mySet。
-
@WhiteTiger removeObject: 减少与 NSCountedSet 关联的计数。
标签: objective-c cocoa nsset nsmutableset nscountedset