如何在 NSSet 中找到某个字符串(值)?
这必须使用谓词来完成吗?如果是,怎么办?
NSMutableSet *set = [[NSMutableSet alloc] init];
[set addObject:[[[NSString alloc] initWithFormat:@"String %d", 1] autorelease]];
[set addObject:[[[NSString alloc] initWithFormat:@"String %d", 2] autorelease]];
[set addObject:[[[NSString alloc] initWithFormat:@"String %d", 3] autorelease]];
现在我想检查集合中是否存在“String 2”。
最佳答案
如果内容相等,则字符串相等,因此您可以这样做:
NSSet *set = [NSSet setWithObjects:@"String 1", @"String 2", @"String 3", nil];
BOOL containsString2 = [set containsObject:@"String 2"];
在这里使用 NSPredicate
是多余的,因为 NSSet
已经有一个 -member:
方法和一个 -containsObject:
方法。
关于iphone - NSSet 中的 NSString 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562303/