17

Objective-C で 1 行の if 文を書くにはどうすればよいでしょうか? これに適したスタイルはありますか?

割り当てに使用される三項演算子 ( ) は知ってint a = condition ? b : cいますが、メソッドを呼び出したいと言うのはif(condition){ [self methodCall]; }、これを 1 行で処理するための推奨される方法ですか?

さらに、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​​-styleifおよびunlessステートメントは、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

ifはい、 Objective-C で「1 行のステートメント」を実行する唯一の方法は、ifステートメントとその本体を同じ行に配置することです。

于 2012-11-05T23:18:57.020 に答える