今天查看系统文件,看到了FOUNDATION_EXPORT这个修饰词,对于我这种初涉iOS编程的初学者来说,对于这个非常陌生,所以就上网搜了一下,原来FOUNDATION_EXPORT是用来定义常量的,我这里就用这篇文章记录整理一下我搜到的内容,给自己当作一个笔记。
FOUNDATION_EXPORT 与 #define 都可以用来定义常量
.h文件
FOUNDATION_EXPORT NSString *const kMyConstantString;
.m文件是这样定义的
NSString *const kMyConstantString = @"hello world";
另一种就是常用的#define 方法定义常量了
#define kMyConstantString @"Hello"
那么他们有什么区别呢?
使用FOUNDATION_EXPORT方法在检测字符串的值是否相等的时候效率更快.
可以直接使用(myString == MyFirstConstant)来比较, 而define则使用的是([myString isEqualToString:MyFirstContant])
哪个效率更高,显而易见了
第一种是直接比较指针地址
第二种则是一一比较字符串的每一个字符是否相等.