Одиночная строка, если оператор Objective-c
Как можно писать одну строку, если оператор objective-c? Есть ли подходящий стиль для этого?
Я знаю о тернарном операторе, используемом для присваивания (int a = condition ? b : c
), но скажу, что я хотел вызвать метод if(condition){ [self methodCall]; }
рекомендуемый способ справиться с этим в одной строке?
Кроме того, есть ли какие-либо руководства по стилю objc? (Думайте, сравните с этот рубиновый стиль руководства) Возвращаясь к языку через некоторое время, не касаясь его, я хочу переосмыслить, как я стиль моего кода.
Ответы
Ответ 1
Операторы однострочного ruby-стиля if
и unless
не имеют эквивалента в Objective-C. Вы можете либо придерживаться блоков, либо просто вызвать метод в той же строке:
if (condition) {
[self method];
}
или
if (condition)
[self method];
или
if (condition) [self method];
Ответ 2
Тернарный оператор if (if - else)
condition ? [self methodcall] : [self otherMethodCAll];
Вызов одного метода
if (condition) [self methodcall];
Ответ 3
Вам не нужны скобки...
if(condition) [self methodCall];
Это так же красно, как и получается.
Ответ 4
Да, единственный способ сделать "однострочный оператор if
" в Objective-C - это поставить оператор if
и его тело в одну строку.