17

如果在objective-c 中编写一行if 语句,将如何进行?有合适的风格吗?

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

此外,那里有任何 objc 样式指南吗?(想想这个 ruby​​ 风格指南)在一段时间不接触它之后回到一种语言让我想重新思考我如何设计我的代码。

4

4 回答 4

59

三元 if 语句(if - else)

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

单一方法调用

if (condition) [self methodcall];
于 2012-11-05T23:15:39.760 回答
13

单行 ruby​​ 样式ifunless语句在 Objective-C 中没有等价物。您可以坚持使用块,也可以只在同一行调用该方法:

if (condition) {
    [self method];
}

或者

if (condition)
    [self method];

或者

if (condition) [self method];
于 2012-11-05T23:20:17.167 回答
3

你不需要括号...

if(condition) [self methodCall];

这是最简洁的。

于 2012-11-05T23:19:17.757 回答
0

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

于 2012-11-05T23:18:57.020 回答