2010-08-13 9 views

risposta

49

utilizzare il metodo NSArray indexOfObject:. Come ad esempio il seguente:

NSUInteger fooIndex = [someArray indexOfObject: someObject]; 
0

è possibile ottenere un elenco degli indici utilizzando il metodo di conteggio che restituisce il numero di elementi nella matrice:

int numElements = [myArray count]; 

Lascio come esercizio per stampare i valori dell'indice reale :)

0

This article ha alcuni ottimi esempi di come iterare su un array. Quindi, all'interno del ciclo, è possibile utilizzare NSLog per stampare l'indice.

5
int totalElements = [anArray count]; 
for(int i=0; i < totalElements; i++) 
{ 
    data = [myArray indexOfObject:i]; 
} 

Il codice di cui sopra vi darà i dati se si passa l'indice

NSString *haystackText = @"Hello World"; 
int totalElements = [anArray count]; 
for(int i=0; i < totalElements; i++) 
{ 
    BOOL result = [haystackText caseInsensitiveCompare:[myArray objectAtIndex:i] == NSOrderedSame; 
    if(result) 
    { 
     NSUInteger fooIndex = [myArray indexOfObject: haystackText]; 
     return fooIndex; 
    } 
} 

Il codice qui sopra prima trovare l'elemento della matrice e se esiste poi restituire l'indice.

1
[array indexOfObject:object] 

torna indice di "oggetto"

2

È possibile utilizzare indexOfObject metodo per ottenere l'indice dell'elemento.

ad esempio

Questo vi darà indice del vostro oggetto

NSInteger index = [yourArray indexOfObject:objectName]; 

Questo ha funzionato per me. Spero che questo ti aiuti.

Problemi correlati