1. 程式人生 > >OC中定義字串常量使用const or #define

OC中定義字串常量使用const or #define

JAVA中定義一個常量通常是用public static final來修飾,所以沒有什麼好糾結的。而在OC中即有與之對應的extern const修飾符,又可以用#define定義一個常量。那麼問題來了,如果僅僅是定義字串常量用那種方式合適呢?
巨集定義是在預編譯時將所有定義的識別符號替換為對應的字元或語句。而const是執行時指向對應記憶體位置的指標。如果只是定義字串之類的常量,不需要使用巨集定義,最合適的做法如下
建立Constants.h檔案
static NSString *const XXX = @”hello,world!”;
或者
建立Constants檔案
.h檔案中
extern const NSString * XXX;
.m檔案中
const NSString * XXX = @”hello,world!”;
使用時匯入Constants.h檔案