iOS開發(fā)進件之多用類型常量,少用#define預(yù)處理指令

多用類型常量,少用#define預(yù)處理指令

編寫代碼時經(jīng)常要定義常量。例如,要寫一個UI視圖類,此視圖顯示出來之后就播放動畫,然后消失。你可能想把播放動畫的時間提取為常量,通常我們會采取這種方法來做

#define ANIMATION_DURATION 0.3

上述預(yù)處理指令會把源代碼中的ANIMATION_DURATION替換為0.3.。這可能是你想要的結(jié)果,不過這樣定義出來的常量沒有任何類型信息。此外,預(yù)處理過程中會把碰到的所有ANIMATION_DURATION一律替換成0.3,這樣的話加入此定義在某個頭文件中,南那么所有引入了此頭文件的代碼,其ANIMATION_DURATION都會被替換。并且這種替換是在預(yù)編譯的時候替換的,使用宏定義也會大大增加編譯時間。


要想解決此問題,我們可以定義一個類型為NSTimerIntrval的常量

static const NSTimeInterval kAnimationDuration = 0.3;

請注意,用此方法定義的常量包含類型信息,其好處是清晰地描述了常量的含義。

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

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

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