2011-09-13 20 views

答えて

43

あなたが好きそれを行うことができ、

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

あなたのニーズによって異なります。等しいと思われる場合はindexOfObject、そうでなければ同じオブジェクト(つまり同じアドレス)の場合はindexOfObjectIdenticalToのいずれかです。

出典:

6

反復処理または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]);