我如何检查 NSArray 中是否存在特定的 NSString?

发布于 2024-12-04 01:39:10 字数 41 浏览 1 评论 0原文

我如何检查特定的 NSString 是否存在于 NSArray 中?

How might I check if a particular NSString is presnet in an NSArray?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

初见 2024-12-11 01:39:10

你可以这样做,

NSArray* yourArray = [NSArray arrayWithObjects: @"Str1", @"Str2", @"Str3", nil];
if ( [yourArray containsObject: yourStringToFind] ) {
    // do found
} else {
    // do not found
}

You can do it like,

NSArray* yourArray = [NSArray arrayWithObjects: @"Str1", @"Str2", @"Str3", nil];
if ( [yourArray containsObject: yourStringToFind] ) {
    // do found
} else {
    // do not found
}
蓝眼泪 2024-12-11 01:39:10

迭代或 containsObject 是 n 阶查找方法。

如果您想要恒定时间查找,您还可以维护像 NSSet 或 NSHashTable 这样的哈希表,但这会增加空间但节省时间。

NSArray* strings = [NSArray arrayWithObjects: @"one", @"two", @"three", nil];
NSSet *set = [NSSet setWithArray:strings];

NSString* stringToFind = @"two";
NSLog(@"array contains: %d", (int)[strings containsObject:stringToFind]);
NSLog(@"set contains: %d", (int)[set containsObject:stringToFind]);   

Iterating or containsObject are order n ways to find.

If you want constant time lookup, you can also maintain a hash table like NSSet or NSHashTable but that increases space but saves time.

NSArray* strings = [NSArray arrayWithObjects: @"one", @"two", @"three", nil];
NSSet *set = [NSSet setWithArray:strings];

NSString* stringToFind = @"two";
NSLog(@"array contains: %d", (int)[strings containsObject:stringToFind]);
NSLog(@"set contains: %d", (int)[set containsObject:stringToFind]);   
记忆で 2024-12-11 01:39:10

取决于您的需求。如果您关心相等性(最有可能),则选择 indexOfObject;如果您关心它实际上是同一个对象(即相同的地址),则选择 indexOfObjectIdenticalTo

来源:

Depends on your needs. Either indexOfObject if you care about equality (most likely), or indexOfObjectIdenticalTo if you care it's actually the same object (i.e. same address).

Source:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文