コンパイラディレクティブを使用して、特定のデリゲートが実装されているかどうかを制御できますか?デリゲートの実装を制御するためにコンパイラの条件を使用しますか?
#ifdef kShouldLoadFromCSV
#import "CHCSVParser.h"
#endif
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate, CHCSVParserDelegate>{
kShouldLoadFromCSV
が定義されていない場合、私はCHCSVParserDelegate
を実装する必要はありません:たとえば
は、次のコードでは、私は私達が定数が定義されている場合は、ライブラリを含めたいです。私は、インターフェイス宣言でコンパイルディレクティブを固執しようとしましたが、うまくいきませんでした。
これを行う方法はありますか?
#if kShouldLoadFromCSV
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate, CHCSVParserDelegate>{
#else
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>{
#endif
するか、必要であれば、多分難しいが、好みの問題読み取るために:
「コンパイラ・ディレクティブ」ではなく、「コンパイラ・ディレクティブ」であることに注意してください。次のようなものを使用してください。プリプロセッサディレクティブ 'と呼ばれます。 – jv42
@ jv42 - 申し訳ありません。 – Moshe