单行if语句Objective-c

时间:2012-11-05 23:14:24

标签: objective-c

如何在objective-c中写一行if语句?这有适当的风格吗?

我知道用于赋值的三元运算符(int a = condition ? b : c)但是我想调用一个方法是if(condition){ [self methodCall]; }推荐的方法来处理这一行吗?

此外还有任何objc风格指南吗? (与this ruby style guide相比)在一段时间没有碰到它之后回到语言会让我想重新思考我如何设计代码。

4 个答案:

答案 0 :(得分:58)

三元if语句(if - else)

condition ? [self methodcall] : [self otherMethodCAll];

单方法调用

if (condition) [self methodcall];

答案 1 :(得分:11)

单行ruby风格的ifunless语句在Objective-C中没有等效语句。你可以坚持使用块,或者只是在同一行上调用方法:

if (condition) {
    [self method];
}

if (condition)
    [self method];

if (condition) [self method];

答案 2 :(得分:3)

您不需要括号......

if(condition) [self methodCall];

这很简洁。

答案 3 :(得分:0)

是的,在Objective-C中执行“一行if语句”的唯一方法是将if语句及其正文放在同一行。