9

私はNSMutableArrayを使用しており、を使用して配列からオブジェクトを取得するのに問題はありませんでしたobjectAtIndex:int。むしろ、整数で配列からオブジェクトを引き出すことは、文字列で配列を検索することによってインデックス位置を取得する方法です。

animalOptions = [[NSMutableArray alloc] init]; 
//Add items
[animalOptions addObject:@"Fish"];
[animalOptions addObject:@"Bear"];
[animalOptions addObject:@"Bird"];
[animalOptions addObject:@"Cow"];
[animalOptions addObject:@"Sheep"];

NSString * buttonTitle = [animalOptions objectAtIndex:1];
// RETURNS BEAR

int * objectIndex = [animalOptions object:@"Bear"];
// THIS IS WHAT I NEED HELP WITH, PULLING AN INDEX INTEGER WITH A STRING (ex: Bear)

うまくいけば、これは理にかなっており、そこに答えがあります。私はオンラインで調べて、グーグルやアップルのクラス参照から何かを見つけることができませんでした。

4

2 に答える 2

34

indexOfObject:次のメソッドを使用できますNSArray

NSUInteger index = [animalOptions indexOfObject:@"Bear"];

重複するエントリがある場合は、そのオブジェクトの最も低いインデックスが返されます。詳細については、ドキュメントをご覧ください。

于 2009-09-01T17:12:06.790 に答える
0

そのオブジェクトのインデックスを返す [array indexOfObject:object] を使用できますが、これを実行したい方法では、指定している文字列が配列内の実際の文字列オブジェクトではないため、機能しない可能性があります。ただし、これは間違いなく機能します

NSString * buttonTitle = [animalOptions objectAtIndex:1];// RETURNS BEARint 
objectIndex = [animalOptions indexOfObject:buttonTitle] //this will return 1
于 2009-09-01T17:15:37.500 に答える