簡體   English   中英

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

[英]How might I check if a particular NSString is present in an NSArray?

我如何檢查特定的NSString是否在NSArray中是presnet?

你可以這樣

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

迭代或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]);   

取決於您的需求。 無論indexOfObject如果你關心平等(最有可能),或者indexOfObjectIdenticalTo如果你不在乎它實際上是相同的對象(即同一個地址)。

資源:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM