0
我为记录目的设置了一些宏。iPhone - 在目标c/XCode中使用预处理器宏
#define LOG_NETWORK_DEBUG(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",2,__VA_ARGS__)
#define LOG_NETWORK_INFO(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",1,__VA_ARGS__)
#define LOG_NETWORK_ERROR(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",0,__VA_ARGS__)
#define LOG_MEDIA_DEBUG(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",2,__VA_ARGS__)
#define LOG_MEDIA_INFO(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",1,__VA_ARGS__)
#define LOG_MEDIA_ERROR(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",0,__VA_ARGS__)
但是,由于我的代码,目前用的NSLog电话骚扰,我想了NSLog
呼叫转移到LogMessageF
电话。 (直到我有时间将所有代码移植到以上宏) 我的项目目前由2个子项目组成:网络,媒体。
我希望每个NSLog调用转换为相应的宏。 (Media项目中的NSLog调用将被转换为LOG_MEDIA_DEBUG)。
我想过为每个名为PROJ_NAME的项目在XCode中设置一个预处理器宏,其中包含项目名称。
我的问题是如何使用该宏?我想这样做:
#define NSLog(...) LOG_$PROJ_NAME_DEBUG(__VA_ARGS__)