定义常量[FOUNDATION_EXPORT/#define]

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 在分析《孔雀东南飞》的文章里,有位朋友留言,引张爱玲的话:爱一个人,就是卑微到尘埃里去。甚是。刘兰芝跟“卑微”一点...
    潘家文阅读 543评论 0 0
  • 1 要有mybatis配置文件SqlMapConfig.xml,plugins标签中配置分页插件, 2 配置app...
    横渡阅读 249评论 0 0
  • 一、生活事件 今天老师将上周考试的试卷发下来,我有一点错误,但老师还是给了我100分。 二、感受输出 ...
    Cyylinxi阅读 150评论 0 0
  • 今天,一大早来到公司,开完早会打扫卫生,卫生打扫完后就出去参加车展会,回来后就去双树望城量尺寸,量完后打算去碧阳一...
    邓承友阅读 120评论 0 0