#define kLeftWidth? 15? 設(shè)置距左邊距為15? 如果此時 你導(dǎo)入一個頭文件 并且里面也含有kLeftWidth這玩意 那么頭文件中的kLeftWidth會被替換敬尺。(#define稱為預(yù)處理指令)
解決方式? ?static const CGFloat kLeftWidth = 15? ?為什么加個k窄潭?因?yàn)楦某A烤窒拊谶@個.m文件內(nèi)(編譯單元) 這是命名習(xí)慣 也是規(guī)范? 合作開發(fā)才能更加沒代溝? const作用:你試圖修改常量帆卓,編譯器就會報錯? 而static的作用是定義的該變量僅在編譯單元可見(作用域在此.m范圍內(nèi))? ?如果不使用static痢毒,其他編譯單元也是用同名的變量 ,編譯器就會拋出錯誤
extern NSString *const someValue磅摹;
NSString *const someValue = @“12”滋迈;
extern的作用 告訴編譯器,全局符號表將會有一個叫someValue 的符號? ?也就是編譯器不需要知道這是什么户誓,即允許代碼使用此常量