0

重複の可能性:
サンプル コードの二重括弧

多くの場合init、Objective-C クラスのメソッドには次の行があります。

if ((self = [super init])) { ...

余分な括弧が必要かどうか疑問に思っています。次の行は同等ですか?

if (self = [super init]) { ...

編集:これは確かにサンプルコードの二重括弧の複製です

4

1 に答える 1

3

それらは必須ではありませんが、「はい、比較ではなく割り当てを意味します」を使用((して言います。))

実際、clang は if 条件で代入を使用することについて警告し、明確にするために二重括弧を提案します。

一般に、これは悪いコーディング スタイルと見なされる可能性があると思いますが、これは obj-c で頻繁に使用される特殊なパターンであるため、ここでは例外が作成されます。

于 2012-09-28T17:29:04.080 に答える