iphone - NSSet 中的 NSString 查找

标签 iphone objective-c

如何在 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/

相关文章:

iphone - 在 iOS 中合并多个裁剪图像以形成单个图像

iphone - 不能让 AVAssetImageGenerator 给我电影的所有帧

iOS 错误 : request (0x_) other than the current request(0x0) signalled it was complete on connection 0x_

ios - 如何同时支持 iOS 7 和 8 的 NSCalendar?

objective-c - SecCertificateAddToKeychain - 导入中的格式未知

iphone - 具有左对齐标签的可编辑 UITableViewCell

ios - 如何在 iOS 9 中获取 iphone 设备 token

ios - HTML5 视频并不总是在 iPhone 上自动播放

ios - 如何为包括iPhone X在内的所有设备设置导航栏背景图片?

objective-c - 添加 UITapGestureRecognizer 后 UIButtons 将不起作用