Rozważmy następujące oświadczenie:Objective-C Do-in Loop Uzyskaj Index
for (NSString *string in anArray) {
NSLog(@"%@", string);
}
Jak mogę uzyskać indeks string
w anArray
bez użycia tradycyjnego for
pętlę i bez sprawdzania wartości string
z każdego obiektu w anArray
?
'- indexOfObject' jest operacją' O (n) ', więc ten algorytm to' O (n^2) '. Jest to znacznie gorsze niż inkrementowanie indeksu dla każdej iteracji lub użycie '- enumerateObjectsUsingBlock:', z których oba są nadal 'O (n)'. –
Ta odpowiedź jest ** błędna **. Jeśli 'anArray' zawiera duplikaty,' index' dla powielonych elementów będzie niepoprawny. – Pang