如果不能使用objectAtIndex:从NSSet获取对象,那么如何检索对象呢?
发布于 2010-09-30 08:12:17
一个集合有几个用例。您可以枚举(例如,使用enumerateObjectsUsingBlock
或NSFastEnumeration),调用containsObject
来测试成员资格,使用anyObject
获取成员(不是随机的),或者使用allObjects
将其转换为数组(没有特定的顺序)。
当你不想要重复的,不关心顺序的,并且想要快速的成员测试时,set是合适的。
发布于 2010-09-30 08:12:52
NSSet没有objectAtIndex方法:
尝试调用allObjects,它将返回所有对象的NSArray。
发布于 2013-08-04 22:20:01
如果您有某种唯一标识符来选择所需的对象,则可以使用filteredSetUsingPredicate。
首先创建谓词(假设您在对象中的唯一id称为“NSString”,并且它是一个标识符):
NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"identifier == %@", identifier];
然后使用谓词选择对象:
NSObject *myChosenObject = [mySet filteredSetUsingPredicate:myPredicate].anyObject;
https://stackoverflow.com/questions/3826789
复制相似问题