Si consideri la seguente dichiarazione:Objective-C per-In Loop Get Indice
for (NSString *string in anArray) {
NSLog(@"%@", string);
}
Come posso ottenere l'indice di string
in anArray
senza utilizzare un tradizionale for
ciclo e senza controllare il valore di string
con ogni oggetto in anArray
?
'- indexOfObject' è un'operazione' O (n) ', quindi questo algoritmo è' O (n^2) '. È decisamente peggio che incrementare un indice su ogni iterazione o usando '- enumerateObjectsUsingBlock:', entrambi i quali sono ancora 'O (n)'. –
Questa risposta è ** errata **. Se 'anArray' contiene duplicati,' index' per gli elementi duplicati non sarebbe corretto. – Pang