在Smalltalk中,我习惯于制作一个没有像这样不需要的元素的集合的副本:
myCollection copyWithout: undesiredObject
回答不包含任何等于undesiredObject
的元素的接收者副本。
Cocoa中有相同的东西吗?
如果没有,获得此类副本的最佳方式是什么?
我特别感兴趣的是复制NSSet
的实例。
答案 0 :(得分:1)
Cocoa Foundation课程中没有直接的等效词。
可能的方法#1:
NSSet *withoutUndesiredObject = [myCollection objectsPassingTest:^BOOL(id obj, BOOL *stop) {
return ![obj isEqualTo:undesiredObject];
}];
可能的方法#2:
NSMutableSet *withoutUndesiredObject = [myCollection mutableCopy];
[withoutUndesiredObject removeObject:undesiredObject];
其他集合类NSArray
也存在类似的方法
和NSDictionary
。
答案 1 :(得分:0)
我看看NSIndexSet,它会给你更多的灵活性。