Оператор goto в Objective-C вызывает непосредственный переход в указанную точку программы. Чтобы указать это место, требуется метка. Метка(label) — это имя, формируемое по таким же правилам, как имена переменных. Сразу после него ставится двоеточие.
Метка ставится непосредственно перед оператором, на который выполняется переход, и должна присутствовать в той же функции или методе, где находится соответствующий goto.
Например, следующий оператор:
1 |
goto out_of_data; |
вызывает переход к оператору, перед которым стоит метка out_of_data. Этам метка должна находиться где-либо в функции или методе(до или после goto) и может использоваться, например, как показано ниже:
1 |
out_of_data: NSLog(@"Unexpected end of data."); |
Ленивые программисты часто злоупотребляют оператором goto для перехода к другим частям своего кода. Оператор goto нарушает нормальную последовательность программы, что затрудняет отслеживание ее выполнения. В практике надежного программирования не рекомендуется использовать операторы goto.