9 Stimmen

NSMutableArray - Holen Arrays Index Integer durch die Suche mit einer Zeichenfolge

Ich habe mit NSMutableArray gearbeitet und hatte keine Probleme beim Abrufen eines Objekts aus einem Array mit objectAtIndex:int . Anstatt ein Objekt durch eine ganze Zahl aus dem Array herauszuziehen, ist es möglich, die Indexposition durch Durchsuchen des Arrays mit einer Zeichenkette zu ermitteln.

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)

Hoffentlich macht dies Sinn, und es gibt eine Antwort da draußen, ich habe nicht in der Lage gewesen, online zu recherchieren und finden Sie etwas durch Google oder Apple's Klasse Referenzen.

34voto

Alex Rozanski Punkte 37585

Sie können die indexOfObject: Methode von NSArray :

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

Wenn es doppelte Einträge gibt, wird der niedrigste Index des Objekts zurückgegeben. Weitere Informationen finden Sie in der docs .

0voto

Daniel Punkte 22267

Sie können [array indexOfObject:object] verwenden, das den Index dieses Objekts zurückgibt, jetzt mit der Art und Weise, die Sie es tun möchten, könnte es nicht funktionieren, da die Zeichenfolge, die Sie angeben, nicht das tatsächliche Zeichenfolgenobjekt im Array ist, das dies jedoch def Arbeit ist

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X