Objective-C:#define vs extern const

 大约在冬季1122_867 发布于 2023-02-12 17:50

我之前已经问过这个问题,但我似乎无法在Apple的文档中找到相关信息; 也许你们有些人做过.

很多Objective-C代码都在.h文件中使用了跨文件常量#define.其他人在文件中使用.mwith常量的方法.extern.h

我理解差异,包括优点和缺点,但Apple是否说明在iOS开发中使用哪一个?

2 个回答
  • 在extern上使用#defines的麻烦在于编译器无法进行任何类型检查.如果你#define一个字符串,没有什么可以阻止你在你想要的地方使用它,比如一个数字.如果您使用静态NSString,如果您尝试在不期望字符串的地方使用它,编译器将发出警告.

    2023-02-12 17:52 回答
  • Apple的建议是extern:

    定义用于通知名称和字典键等用途的字符串的常量.通过使用字符串常量,您可以确保编译器验证指定了正确的值(即,它执行拼写检查).

    不可否认,他们有时会对此不一致.

    2023-02-12 17:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有