objective-c - 如何在 NSCountedSet 中将对象计数设置为零(或某个值)?

标签 objective-c cocoa nsset nsmutableset nscountedset

我有以下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])

有没有更好的解决方案?

最佳答案

您可以使用谓词进行过滤

[mySet filterUsingPredicate:[NSPredicate predicateWithFormat:@"self != %@", item1]];

关于objective-c - 如何在 NSCountedSet 中将对象计数设置为零(或某个值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785126/

相关文章:

iphone - [NSSet allObjects] 每次都会返回一个顺序相同的数组吗?

iphone - 重新加载特定的uitableview单元格的数据

ios - 如何将唯一数据输入到核心数据值中?

objective-c - 在 obj-c 的字符串中搜索一行

objective-c - 无需运行循环的 MacOSX 套接字编程

cocoa - 让 NSTask 和 SMJobSubmit 正常运行的问题

ios - 将 NSMutableArray 转换为具有相同顺序的 NSSet

ios - 如何用Core Data设计对象的 "ordering"

objective-c - 在 iPad 上旋转时如何阻止模态视图消失?

objective-c - QInputDialog 类似于 Cocoa/Xcode 中的东西?