NSMutableArray - Get Arrays Index Integer By Searching With A String

泄露秘密 提交于 2019-12-04 18:55:33

问题


I have been working with NSMutableArray and have had no problems retrieving an object from an array by using objectAtIndex:int. Rather then pulling an object out of the array by an integer is their a way to get the index position by searching the array with a string.

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)

Hopefully this makes sense, and there is an answer out there, I have been unable to research online and find anything through google or apple's class references.


回答1:


You can use the indexOfObject: method from NSArray:

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

If there are duplicate entries then the lowest index of that object is returned. For more information, take a look at the docs.




回答2:


you can use [array indexOfObject:object] which will return the index of that object, now with the way you are wanting to do it, it might not w ork since the string you are specifing is not the actual string object in the array doing this however will def work

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


来源:https://stackoverflow.com/questions/1363593/nsmutablearray-get-arrays-index-integer-by-searching-with-a-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!