在使用常量的时候,我看到主要有两种写法:
#define RKLICURegexEnumerationOptionsErrorKey @"RKLICURegexEnumerationOptionsErrorKey"
extern NSString * const RKLICURegexEnumerationOptionsErrorKey;
define只是简单的替换,又称作宏定义、预处理命令。
而const是要分配内存空间的,提示编译器遇到此变量和函数时在其他模块中寻找其定义
还有就是#define是不会对数据类型进行检查的,而第二种会对数据类型进行安全检查、
推荐可以看看这篇文章,对Define与Const分析的比较详细,自己拿捏!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。