【发布时间】:2012-09-29 18:22:40
【问题描述】:
我有一个我只想在某些情况下执行的方法(例如我不想在调试模式下执行它..)
这个方法有两个参数:NSString和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] 被对象实例或类调用?
-
那么你如何处理@"a string",因为它没有采取任何行动?它有什么用?
标签: iphone objective-c ios macros