Программирование на Objective-C 2.0
Шрифт:
Общий формат continue;
Выполнение оператора continue внутри цикла вызывает пропуск операторов, которые следуют в этом цикле непосредственно после continue. В проти виом слу-чае выполнение цикла продолжается обычным образом. Оператор do
Общий формат do программный Оператор while (выражение);
Если выражение имеет ненулевое значение, то выполняется программныйОпера- юр. Отметим, что поскольку выражение вычисляется каждый раз после того, как выполнен программныйОпераюр, здесь гарантируется, что программныйОператор будет выполнен хотя бы один раз. Оператор for Формат 1 for (выражение_ 1;
Выражение_1 вычисляется один раз, когда начинается выполнение цикла. Затем вычисляется выражение_2. Если это выражение имеет ненулевое значение, то выполняется программныйОператор и затем вычисляется выражение_3. Это про-исходит, пока выражение_2 имеет ненулевое значение. Поскольку выражение_2вычисляется каждый раз перед тем, как выполняется программныйОператор, этот оператор может быть никогда не выполнен, если выражение_2 имеет значение 0 при первом входе в цикл.
Для выражения_ 1 можно объявить переменные, локальные для данного цикла for. Эти переменные действительны в области действия этого цикла for. Например, в for (int i = 0; i < 100; ++i)
объявляется целая переменная i, которой присваивается начальное значение 0, когда начинается цикл. Эта переменная доступна для любых операторов внутри этого цикла, но она недоступна после завершения цикла. Формат 2 for (var in выражение) программныйОператор
В этом варианте цикла for задается быстрое перечисление (fast enumeration). Для переменной var можно также объявлять ее тип, что делает область ее действия локальной для данного цикла for. Выражение выражение дает результат, который подчиняется протоколу NSFastEnumeration. Обычно выражение является кол-лекцией, например, массивом или словарем.
При каждом прохождении цикла for переменной var присваивается следующий объект, полученный при начальном вычислении выражения, и выполняется тело цикла, которое представляет программныйОпзратор. Выполнение цикла за-вершается, ког да выполнен перебор всех объектов в выражении.
Отметим, что в данном цикле for нельзя изменить содержимое коллекции. Если это происходит, то создается исключение.
Для массива происходит перечисление по порядку каждого из его элементов. Для словаря происходит перечисление каждого ключа без определенного порядка. Для набора (set) происходит перечисление каждого члена набора без определенного порядка. Оператор goto
Общий формат goto идентификатор;
Выполнение оператора goto вызывает передачу управления непосредственно оператору с меткой идентификатор. Оператор с меткой должен находиться в той же функции или методе, где и goto. Оператор if Формат 1 if {выражение) программныйОператор
Если результат вычисления выражения не равен нулю, то выполняется программ-ныйОператор', иначе он пропускается. Формат 2 if (выражение) программныйОператор else программныйОператор2
Если значение выражения не равно нулю, то выполняется программныйОпера- тор1; иначе выполняется программныйОператор2. Если программный0ператор2 является еще одним оператором if, образуется цепочка if-else if,
Предложение else всегда связано с последним оператором if, который не со-держит else. При необходимости можно использовать фигурные скобки, чтобы изменить эту связь. Оператор null
Общий формат ;
Выполнение null-оператора (пустого оператора) не оказывает никакого влияния и используется в основном, чтобы выполнить требование программного оператора в цикле for, do или while. В следующем операторе выполняется копирование символьной строки, указанной с помощью from, в строку, указанную с помощью to. while (*to++ = *from++ ) ;
В этом операторе используется null-оператор, чтобы выполнить требование того, что после выражения цикла while должен присутствовать программный оператор. Оператор return Формат 1 return;
Выполнение оператора return вызывает немедленный возврат выполнения программы в вызывающую функцию или метод. Этот формат можно использовать только для возврата из функции или метода, которые не возвращают никакого значения.
Если выполнение доходит до конца функции или метода, не встретив оператор return, то происходит возврат, как при выполнении оператора return в этом формате, поэтому в таком случае не возвращается никакого значения. Формат 2 return выражение;
Вызывающей функции или методу возвращается значение выражения. Если тип выражения не согласуется с типом возвращаемого значения, указанным в объявлении функции или метода, то его значение автоматически преобразуется перед возвратом в объявленный тип. Оператор switch
Общий формат switch (выражение) { case константа1: программный оператор программный оператор ... break; case кон стан та_2: программный оператор программный оператор ... break; case константап; программный оператор программный оператор ... break; default: программный оператор программный оператор ... break; } Выполняется вычисление и сравнение выражения со значениями константных выражений константа_1, константа_2, константап. Если значение выражения совпадает с одним из этих case-значений, то выполняются последующие про-граммные операторы. Если ни одно из case-значений не совпадает со значением выражения, то выполняется (если он включен) вариант по умолчанию default. Если вариант default не включен, то не выполняются никакие операторы, включенные в switch.
Результат вычисления выражения должен быть целого типа, и никакие два варианта case не должны иметь одинаковое значение. Отсутствие оператора break в определенном case-варианте вызывает продолжение выполнения в следующем case-варианте. Оператор while
Общий формат while (выражение) программныйОператор
Если значение выражения не равно нулю, выполняется программныйОператор. Поскольку выражение вычисляется каждый раз перед тем, как выполняется прог-раммныйОператор, этот оператор может никогда не выполняться. Обработка исключений