ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C Часть 1

Циклы

Во всех выше рассмотренных случаях каждое выражение было выполнено один раз. Мы всегда можем повторять код в функциях, вызывая их неоднократно.

<code data-result="[object Object]">NSLog(@"Это мой любимый фильм."); 
NSLog(@"Это мой любимый фильм."); 
NSLog(@"Это мой любимый фильм.");</code>

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

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

<code data-result="[object Object]">for (int i=0; i&lt;3; i++) {
    NSLog(@"Это мой любимый фильм.");
}
NSLog(@"Значение переменной x равно %d", i);</code>

В этом примере строка @»Это мой любимый фильм.» будет печатна 3 раз. Во-первых, i присваивается значение 0. Затем компьютер анализирует состояние выражения i <  3. Это условие считается выполненным (i равен 0), поэтому выражения между фигурными скобками выполняются. Тогда, значение i увеличивается, на единицу выражением i++ (подробнее). В результате значение i, становится равным 1, и снова сравнивается с 3. Поскольку i все еще меньше 3, выражения между фигурными скобками, выполняются еще раз. Как только i становится равно 3, условие i < 3, больше не выполняется. Я включил последнее выражение, чтобы доказать вам, что i = 3после завершения цикла.

while()

В Objective-C имеются два других способа повторить ряд действий:

<code data-result="[object Object]"> while () {}</code>

и

<code data-result="[object Object]">do {} while ()</code>

Конструкция while () {} по сути идентично циклу for, о котором говорилось ранее. Все начинается с проверки условия окончания. Если результат ложный, выражения внутри цикла не выполняются.

<code data-result="[object Object]">int counter = 1; 
while (counter &lt;= 10) {
    NSLog(@"Это мой любимый фильм. "); 
    counter = counter + 1;
} 
NSLog(@"Значение счетчика равно %d", counter);</code>

В этом случае, значение счетчика равно 11.

В конструкции do {} while (), команды между фигурными скобками будут выполнены как минимум 1 раз.

<code data-result="[object Object]">int counter = 1; 
do {
    NSLog(@"Это мой любимый фильм. ");
    counter = counter + 1; 
} 
while (counter &lt;= 10); 
NSLog(@"Значение счетчика равно %d", counter);</code>

Конечное значение счетчика так же ровно 11.

Comments are closed.