如何打印出方法名和行号,并有条件禁用NSlog?我正在做一个关于Xcode调试的演示,希望获得更多关于如何高效使用NSLog的信息。特别是,我有两个问题:是否有一种方法可以轻松地记录当前方法的名称/行号?在编译发布代码之前,是否有一种方法可以轻松地“禁用”所有NSLogs?
3 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
#ifdef DEBUG# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)#else# define DLog(...)#endif// ALog always displays output regardless of the DEBUG setting#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
-[LibraryController awakeFromNib] [Line 364] Hello world

慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
#ifdef DEBUG# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)#else# define DLog(...)#endif// ALog always displays output regardless of the DEBUG setting#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
-[LibraryController awakeFromNib] [Line 364] Hello world

呼唤远方
TA贡献1856条经验 获得超11个赞
NSLog(@"%s %d %s %s", __FILE__, __LINE__, __PRETTY_FUNCTION__, __FUNCTION__);
/proj/cocoa/cdcli/cdcli.m 121 managedObjectContext managedObjectContext
__FUNCTION__
__PRETTY_FUNCTION__
#define NSLog
- 3 回答
- 0 关注
- 477 浏览
添加回答
举报
0/150
提交
取消