美文网首页
定义常量[FOUNDATION_EXPORT/#define]

定义常量[FOUNDATION_EXPORT/#define]

作者: 风林山火 | 来源:发表于2016-07-30 10:40 被阅读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])
第一种直接比较的是指针地址,而第二种则是一一比较字符串的每一个字符是否相等.

相关文章

网友评论

      本文标题:定义常量[FOUNDATION_EXPORT/#define]

      本文链接:https://www.haomeiwen.com/subject/tgxtsttx.html