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 回答