NSMutableArray - 通过字符串搜索获取数组索引整数

时间:2009-09-01 17:07:47

标签: cocoa nsmutablearray

我一直在使用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)

希望这是有道理的,并且有一个答案,我无法在线研究并通过谷歌或苹果的课程参考找到任何东西。

2 个答案:

答案 0 :(得分:34)

您可以使用indexOfObject:中的NSArray方法:

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

如果有重复的条目,则返回该对象的最低索引。有关详细信息,请查看docs

答案 1 :(得分:0)

你可以使用[array indexOfObject:object]来返回该对象的索引,现在按照你想要的方式,它可能不会被打开,因为你指定的字符串不是实际的字符串对象。然而,执行此操作的数组将无法正常工作

NSString * buttonTitle = [animalOptions objectAtIndex:1];// RETURNS BEARint 
objectIndex = [animalOptions indexOfObject:buttonTitle] //this will return 1