定义常量[FOUNDATION_EXPORT/#define]

2016-07-30  本文已影响65人  风林山火

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

上一篇 下一篇

猜你喜欢

热点阅读