2013-07-04 3 views

ответ

0

-> Быстрое перечисление осуществляется по коллекции в Objective C, например, если есть NSArray строк, то для каждой строки мы реализуем быстрое перечисление для цикла как: -

for(NSString *str in NSArray object) 
{ 
    statement; 
} 
+0

Hello Ravi благодарит меня за помощь, но это заявление не работает ..... – user2497862

+0

ошибка, показывающая Ожидаемый ';' in 'for' спецификатор оператора – user2497862

+0

это был неправильный синтаксис, я изменил свой ответ !!! –

0

NSString не реализует NSFastEnumeration, что означает, что на самом деле нет альтернативного синтаксиса, чтобы сделать ваш цикл быстрее (за исключением упомянутых here, возможно).

Узкое место производительности, скорее всего, будет кодом, выполняемым внутри каждой итерации цикла, а не самой механикой самого цикла, но вы не включили это в вопрос.

Быстрое перечисление - это просто замена более медленных методов, которые использовались для перечисления через коллекции.

0

Если вы хотите перебрать каждый полукокс из заданной строки

NSString *strCorrectWord = @"Test"; 

NSRange range = NSMakeRange(0, strCorrectWord.length); 

[strCorrectWord enumerateSubstringsInRange:range options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { 

    //Substring is each char 
    NSLog(@"%@", substring); 
}]; 

пронумеровать с блоком является более быстрым решением, большой частью времени. Используя параметры, вы можете изменить их, чтобы дать вам подстроку каждый символ или каждое слово.

+0

@ user2497862 Это работало для вас? –

+0

@ user2497862 Примите ответ, если они помогли. –