要點:
? ?1.不要用預(yù)處理指令定義常量。這樣定義出來的常量不含類型信息,編譯器只是會在編譯前據(jù)此執(zhí)行查找與替換操作。即使有人重新定義了常量值,編譯器也不會產(chǎn)生警告信息,這將導(dǎo)致應(yīng)用程序中的常量值不一致。
? ?2.在實現(xiàn)文件中使用static const來定義"只在編譯單元內(nèi)可見的常量"。由于此類常量不在全局符號表中,所以無需為其名稱加前綴。
? ?3.在頭文件中使用extern來聲明全局變量,并在相關(guān)實現(xiàn)文件中定義其值。這種變量要出現(xiàn)在全局符號表中,所以其名稱應(yīng)加以區(qū)隔,通常用與之相關(guān)的類名做前綴。
比如
static const NSTimeInterval kAnimationDuration = 0.5;
常用的命名法是:若常量局限于某“編譯單元(也就是實現(xiàn)文件 implementation file)之內(nèi)”,則在前面加字母k;
若常量在類之外可見,則通常以類名為前綴。
摘自<Effective Objective-C 2.0>.../// 后悔沒有早點買這本書
mark: http://www.lxweimin.com/p/f83335e036b5?utm_campaign=hugo&utm_medium=reader_share&utm_content=note