Objective-C中NSLog學(xué)習(xí)文檔
Objective-C中NSLog學(xué)習(xí)文檔是本文喲啊介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)NSLog輸出格式,談到NSLog對(duì)程序性能的影響,來(lái)看詳細(xì)內(nèi)容。
NSLog 輸出格式
- • %@ 對(duì)象
- • %d, %i 整數(shù)
- • %u 無(wú)符整形
- • %f 浮點(diǎn)/雙字
- • %x, %X 二進(jìn)制整數(shù)
- • %o 八進(jìn)制整數(shù)
- • %zu size_t
- • %p 指針
- • %e 浮點(diǎn)/雙字(科學(xué)計(jì)算)
- • %g 浮點(diǎn)/雙字
- • %s C 字符串
- • %.*s Pascal字符串
- • %c 字符
- • %C unichar
- • %lld 64位長(zhǎng)整數(shù)(long long)
- • %llu 無(wú)符64位長(zhǎng)整數(shù)
- • %Lf 64位雙字
NSLog對(duì)程序性能的影響
NSLog 既可以像printf那樣方便地格式化輸出,同時(shí)還能輸出時(shí)間以及進(jìn)程ID等信息,可謂調(diào)試?yán)?但是其實(shí)NSLog對(duì)程序性能也有不小的影響,在執(zhí)行次數(shù)比較少的情況下可能看不出來(lái)什么,當(dāng)短時(shí)間大量執(zhí)行的時(shí)候就會(huì)對(duì)程序執(zhí)行效率產(chǎn)生可觀的影響.
我遇到的一種情況就是我在一個(gè)UIScrollView子類的layoutSubviews方法中輸出了很多次log,而這個(gè)layoutSubviews本身又有相對(duì)繁重的工作要做,由于每次拖動(dòng)這個(gè)UIScrollView都要調(diào)用很多次layoutSubviews,因此程序?qū)嶋H運(yùn)行起來(lái)拖動(dòng)體驗(yàn)就非常差,卡頓現(xiàn)象嚴(yán)重,多次測(cè)試發(fā)現(xiàn)注釋掉所有的NSLog后拖動(dòng)就變得正常了.
綜上,當(dāng)你疑惑是什么導(dǎo)致了你的程序運(yùn)行效率很差的時(shí)候不妨注釋掉那些NSLog試試,你的問(wèn)題也許就迎刃而解了
--可以包一個(gè)debuglog之類的函數(shù),然后放到#ifdef DEBUG下,就不會(huì)太影響了
小結(jié):Objective-C中NSLog學(xué)習(xí)文檔的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!