2012-01-31 4 views
1

を使用する代わりに、YES/NOを定義する方法のために、とYES/NOを使用することはできません。#define CAN_DO YESタグCAN_DOで制御されるコードは、通常#if CAN_DOを使用して「オンにする」必要があります。古い学校のCの男として、私は#define CAN_DO 1を使うだろうが、あまり「Objective-C like」ではないように感じる。これを行うには 'Objective-C'の方法が好ましいですか? (私は#ifdefを認識していますが、タグを使用する人は常に#definedのd記号を付けることで最も効果的です)。#defineと#ifを使用する場合、YES/NOを使用する代わりに、

もっと簡単に言えば、「ユーザー」コードでシンボルを設定する人々に、#define SOME_SYMBOL YESのようなものを言うことができるようにしたいと思います。しかし、私は、Cの方法が#define SOME_SYMBOL 1と同じくらい良いというアイデアを得ています。

+0

具体的な例を挙げておきますが、ここで何を求めているのかははっきりしません。 – benzado

+0

ちょうど1と0を使用します。唯一の違いは、定義されているときに 'YES'と' NO'が型キャストされていることです。 – ughoavgfhw

答えて

6

旧式のCアプローチはまさに正しいアプローチです。たとえば、NS_BLOCKS_AVAILABLENSObjCRuntime.hで定義されている方法を参照してください。

+0

合意。プリプロセッサコンストラクトを使用する必要がある場合は、必ずしもObjCコンストラクトを使用する必要はありません。それは間違っていない、彼らは別のものです。 – DougW

関連する問題