iOS 預(yù)編譯命令小記

前言

我們?cè)趯懘a的時(shí)候往往會(huì)使用一些預(yù)編譯,這樣會(huì)方便我們功能代碼的編寫。這是我在工作中所使用的預(yù)編譯的命令,分享出來給大家。

中心

//定義常量

//導(dǎo)航欄高度

#define kNaivgationBarHeight 44

//屏幕寬高

#define KSCREEN_WIDTH [UIScreen mainScreen].bounds.size.width

#define KSCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

//內(nèi)存管理安全釋放對(duì)象

#define SAFE_RELEASE(x) [x release];x=nil

//判斷系統(tǒng)的版本

#define kCurrentSystemVersion [[[UIDevice currentDevice] systemVersion] floatValue]

//判斷是否是ios7或者更高的版本

#define IOS_VERSION_7_OR_LATER (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)? (YES):(NO))

//當(dāng)前系統(tǒng)的語言

#define kCurrentLanguage [[NSLocale preferredLanguages] objectAtIndex : 0]

//定義更高級(jí)的DLog

//#define DEBUG_MODE 1

#ifdef DEBUG

#define YF_Log(s,...) NSLog (@"<%p %@:(%d)> %@",self,[[NSString stringWithUTF8String:__FILE__] lastPathComponent],__LINE__,[NSString stringWithFormat:(s),##__VA_ARGS__])

#else

#define YF_Log(s,...)

#endif

//判斷是不是真機(jī)

#if TARGET_OS_IPHONE

//操作

#elif TARGET_IPHONE_SIMULATOR

//操作

#endif


說到這我再多說幾句,平時(shí)我們的調(diào)試很多都是用NSLog進(jìn)行輸出查看結(jié)果。但是我們不要只會(huì)運(yùn)行簡(jiǎn)單的輸出參數(shù)這一點(diǎn)。

NSLog(@"這是哪個(gè)方法運(yùn)行的--%s",__func__);

NSLog(@"這句代碼在哪一行--%d",__LINE__);

NSLog(@"這個(gè)文件所在的位置--%s",__FILE__);

輸出結(jié)果:

2016-03-07 13:56:02.993 預(yù)編譯[4297:235750] 這是哪個(gè)方法運(yùn)行的---[ViewController viewDidLoad]

2016-03-07 13:56:02.993 預(yù)編譯[4297:235750] 這句代碼在哪一行--23

2016-03-07 13:56:02.993 預(yù)編譯[4297:235750] 這個(gè)文件所在的位置--/Users/syf/Desktop/MyText/è¢?áo????/è¢?áo????/ViewController.m

這樣你會(huì)有更好的輸出結(jié)果。

如果你想在調(diào)試這一方面有個(gè)提高,你可以去看看LLDB,在我們的控制臺(tái)去做各種操作。很適合裝xx,但是很實(shí)用的呀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容