2012-02-06 11 views

答えて

6

TRUEマクロのみ(対物-CはCの厳密なスーパーセットであるように設計されている)Cコードのように下位互換性が提供されます。彼らはどちらも同じことを意味します。

0

(目的)-c YESTRUEは同じものです。

これらは、通常、このようにコアデータに格納されるため、1と0で表すことができます。

[NSNumber numberWithBool:YES];

+0

純粋なCコードではなくObjective-Cコードを書いていることがより明白になるので、好ましくは 'YES'を選択することをお勧めしますが、それは本当に慣習の問題です。 –

+0

私はObjective-Cで 'YES'を使用すると信じています。なぜなら、彼らはメソッド命名規則に対応する質問として' BOOL'変数を使用しているからです。 – MobileOverlord

+0

コアデータがBOOLでないオブジェクトを格納するので、NSNumberを使用してBOOLを保存し、クラスメソッド 'numberWithBool'とインスタンスに' boolValue'をマッチさせるので、それらはCDのように格納されますstoreはスカラー値を取得します。 – Abizern

1

Objective CのBOOLの元の成功値はYESです。 TRUEは互換性のための模倣品に過ぎません。両方を使用することはできますが、当初はその言語用に設計されたものを使用することを強くお勧めします。これは、言語の将来の更新で言語の構文が変更された場合(この場合は起こりそうもない)には重要です。元の構文を使用しても、古いコードでは何も修正されません。