亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何打印出方法名和行號,并有條件禁用NSlog?

如何打印出方法名和行號,并有條件禁用NSlog?

iOS
天涯盡頭無女友 2019-07-26 17:14:48
如何打印出方法名和行號,并有條件禁用NSlog?我正在做一個關于Xcode調試的演示,希望獲得更多關于如何高效使用NSLog的信息。特別是,我有兩個問題:是否有一種方法可以輕松地記錄當前方法的名稱/行號?在編譯發布代碼之前,是否有一種方法可以輕松地“禁用”所有NSLogs?
查看完整描述

3 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

下面是關于NSLog的一些有用的宏,我經常使用:

#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__)

DLog宏僅用于在設置調試變量時輸出(項目的C標志中用于調試確認的-DDEBUG)。

Alog將始終輸出文本(如常規NSlog)。

輸出(例如Alog(@“HelloWorld”)如下所示:

-[LibraryController awakeFromNib] [Line 364] Hello world




查看完整回答
反對 回復 2019-07-27
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

下面是關于NSLog的一些有用的宏,我經常使用:

#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__)

DLog宏僅用于在設置調試變量時輸出(項目的C標志中用于調試確認的-DDEBUG)。

Alog將始終輸出文本(如常規NSlog)。

輸出(例如Alog(@“HelloWorld”)如下所示:

-[LibraryController awakeFromNib] [Line 364] Hello world




查看完整回答
反對 回復 2019-07-27
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

NSLog(@"%s %d %s %s", __FILE__, __LINE__, __PRETTY_FUNCTION__, __FUNCTION__);

輸出文件名、行號和函數名:

/proj/cocoa/cdcli/cdcli.m 121 managedObjectContext managedObjectContext

__FUNCTION__在C+中顯示損壞的名稱__PRETTY_FUNCTION__顯示了很好的功能名稱,在可可,他們看起來是一樣的。

我不知道禁用NSlog的正確方法是什么,我做到了:

#define NSLog

而且沒有出現日志輸出,但是我不知道這是否有任何副作用。




查看完整回答
反對 回復 2019-07-27
  • 3 回答
  • 0 關注
  • 516 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號