第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

慕村225694 2019-07-22 10:20:08
如何打印出方法名和行號(hào),并有條件禁用NSlog?我正在做一個(gè)關(guān)于Xcode調(diào)試的演示,希望獲得更多關(guān)于如何高效使用NSLog的信息。特別是,我有兩個(gè)問題:是否有一種方法可以輕松地記錄當(dāng)前方法的名稱/行號(hào)?在編譯發(fā)布代碼之前,是否有一種方法可以輕松地“禁用”所有NSLogs?
查看完整描述

3 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

下面是關(guān)于NSLog的一些有用的宏,我經(jīng)常使用:

#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宏僅用于在設(shè)置調(diào)試變量時(shí)輸出(項(xiàng)目的C標(biāo)志中用于調(diào)試確認(rèn)的-DDEBUG)。

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

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

-[LibraryController awakeFromNib] [Line 364] Hello world


查看完整回答
反對(duì) 回復(fù) 2019-07-22
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

我已經(jīng)DLogALog從上面,加上ULog這會(huì)引發(fā)一個(gè)UIAlertView留言。

總結(jié)如下:

  • DLog

    輸出會(huì)像

    NSLog

    只有在設(shè)置了調(diào)試變量時(shí)
  • ALog

    總是輸出類似

    NSLog

  • ULog

    將顯示

    UIAlertView

    只有在設(shè)置了調(diào)試變量時(shí)


#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#ifdef DEBUG
#   define ULog(fmt, ...)  { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%s\n [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__]  delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }
#else
#   define ULog(...)
#endif

如下所示:

https://img1.sycdn.imooc.com//5d351d7b0001a9bc02770198.jpg


查看完整回答
反對(duì) 回復(fù) 2019-07-22
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

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

輸出文件名、行號(hào)和函數(shù)名:

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

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

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

#define NSLog

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


查看完整回答
反對(duì) 回復(fù) 2019-07-22
  • 3 回答
  • 0 關(guān)注
  • 561 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)