我有一種方法,我只想在某些情況下執行(例如我不想在調試模式下執行它)。 此方法有兩個參數:NSString
和NSDictionary
客觀c - 以NSDictionary爲參數的宏
例如此類方法:
+ (void)doSomethingWithString:(NSString *)str andDictionary:(NSDictionary *)dic;
所以我要定義一個宏,禁用它時,沒有必要的。
事情是這樣的:
#define METHOD_ENABLED
#ifdef METHOD_ENABLED
#define MACRO_METHOD(_STR, _DIC) [SomeClass doSomethingWithString:_STR andDictionary:_DIC];
#else
#define MACRO_METHOD(_STR, _DIC)
#endif
,並使用它,我稱之爲:
MACRO_METHOD(@"a string", [NSDictionary dictionaryWithObject:@"object" forKey:@"key]);
這是我應該如何呢??我甚至可以使用NSDictionary作爲參數的宏?
[doSomethingWithString:_STR andDictionary:_DIC]被調用的對象實例或類? –
類,我更新了我的問題 – Eyal
所以你用@「一個字符串」做什麼,因爲沒有采取行動?它需要什麼? –