應該使用FOUNDATION_EXPORT還是#define來定義常量?
一般iOS我們定義常量的方法有兩種,來看下面例子
.h文件定義
FOUNDATION_EXPORT NSString * const kMyConstantString;
FOUNDATION_EXPORT NSString * const kMyConstantString2;
.m文件賦值
NSString * const kMyConstantString = @"Hello";
NSString * const kMyConstantString2 = @"World";
還有一種是常用的#define方法了
#define kMyConstantString @"Hello"
#define kMyConstantString2 @"World"
使用第一種方法在檢測字符串的值是否相等的時候更快.對于第一種你可以直接使用(stringInstance == MyFirstConstant)來比較,
而define則使用([stringInstance isEqualToString:MyFirstConstant])
第一種直接比較的是指針地址,而第二種則是一一比較字符串的每一個字符是否相等.