Чтение онлайн

ЖАНРЫ

Программирование на Objective-C 2.0
Шрифт:

Если используется имя getter-метода по умолчанию, то приведенное выше выражение эквивалентно следующему. [получатель свойство] Формат 4 получатель.свойство = выражение

Это вызов setter-метода (метода-установщика), связанного со свойством свой-ство, и в качестве его аргумента передается значение выражения. По умолчанию вызывается setter-метод ^Свойство:, если для этого свойства не было назначено имя другого setter-метода с использованием предшествующей директивы @property.

Если используется имя setter-метода по умолчанию, то приведенное выше выражение эквивалентно следующему. [получатель set Свойство:

выражение] Программные операторы

Программным оператором (program statement) является любое допустимое вы-ражение (обычно присваивание или вызов функции), которое закапчивается точкой с запятой, или это один из специальных операторов, описанных ниже. Перед любым оператором можно ставить необязательную метку; метка состоит из идентификатора, после которого ставится символ «двоеточие» (см. также оператор goto). Составные операторы

Программные операторы, содержащиеся в фигурных скобках, называются со-ставным оператором, или блоком, и могут находиться в любом месте программы, где допустим хоть один оператор. Блок может содержать свой собственный набор объявлений переменных, которые могут замещать одноименные переменные, определенные вне этого блока. Областью действия таких локальных переменных является блок, в котором они определены. Оператор break

Общий формат break;

Выполнение оператора break внутри области действия оператора for, while, do или switch вызывает прекращение работы этого оператора. Выполнение про-должается с оператора, непосредственно следующего после цикла или пере- ключалеля (switch). Оператор continue

Общий формат continue;

Выполнение оператора continue внутри цикла вызывает пропуск операторов, которые следуют в этом цикле непосредственно после continue. В проти виом слу-чае выполнение цикла продолжается обычным образом. Оператор do

Общий формат do программный Оператор while (выражение);

Если выражение имеет ненулевое значение, то выполняется программныйОпера- юр. Отметим, что поскольку выражение вычисляется каждый раз после того, как выполнен программныйОпераюр, здесь гарантируется, что программныйОператор будет выполнен хотя бы один раз. Оператор for Формат 1 for (выражение_ 1; выражение_2; выражение_3) програтныйОператор

Выражение_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, например, if {выражение1) программныйОператор else if (выражение2) программныйОператор2 else программныйОператорп

Предложение else всегда связано с последним оператором if, который не со-держит else. При необходимости можно использовать фигурные скобки, чтобы изменить эту связь. Оператор null

Общий формат ;

Выполнение null-оператора (пустого оператора) не оказывает никакого влияния и используется в основном, чтобы выполнить требование программного оператора в цикле for, do или while. В следующем операторе выполняется копирование символьной строки, указанной с помощью from, в строку, указанную с помощью to. while (*to++ = *from++ ) ;

В этом операторе используется null-оператор, чтобы выполнить требование того, что после выражения цикла while должен присутствовать программный оператор. Оператор return Формат 1 return;

Выполнение оператора return вызывает немедленный возврат выполнения программы в вызывающую функцию или метод. Этот формат можно использовать только для возврата из функции или метода, которые не возвращают никакого значения.

Если выполнение доходит до конца функции или метода, не встретив оператор return, то происходит возврат, как при выполнении оператора return в этом формате, поэтому в таком случае не возвращается никакого значения. Формат 2 return выражение;

Вызывающей функции или методу возвращается значение выражения. Если тип выражения не согласуется с типом возвращаемого значения, указанным в объявлении функции или метода, то его значение автоматически преобразуется перед возвратом в объявленный тип. Оператор switch

Поделиться с друзьями: