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