应该使用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])
第一种直接比较的是指针地址,而第二种则是一一比较字符串的每一个字符是否相等.