ios - Objective-C 中全局 C 常量的正确声明

标签 ios objective-c arrays global-variables

我正在尝试声明并初始化全局 C 变量。

const int numberOfTickMarks = 6;
const double tickValues[numberOfTickMarks] = {500, 2000, 3000, 4000, 6000, 8000};

当我在头文件中(在 @interface 之前)执行此操作时,我收到链接器错误。但是当我在 .m 文件中(在 @implementation 之前)执行此操作时,事情似乎按预期工作。

后者是 C/Objective-C 声明全局常量的可接受方式吗?

最佳答案

你的全局变量应该在头文件中像这样声明:

extern const int numberOfTickMarks;
extern const double tickValues[numberOfTickMarks];

如果没有extern,链接器错误是不可避免的。

在实现文件中,您必须像这样再次定义它们:

const int numberOfTickMarks = 6;
const double tickValues[numberOfTickMarks] = {500, 2000, 3000, 4000, 6000, 8000};

关于ios - Objective-C 中全局 C 常量的正确声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16447426/

相关文章:

ios - 检测音量按钮按下和释放 iOS

java - 在 Thymeleaf 数组中输入

java - 解释 Integer.MAX_VALUE 和 Integer.MIN_VALUE 在数组中查找最小值和最大值

ios - 获取选中标记的行并发送到控制台

ios - iPhone 7+,ios 11.2 : Depth data delivery is not supported in the current configuration

ios - 为什么我的后退按钮在 iOS 7 上不起作用?

ios - UINavigationController 弹出到另一个根 Controller

ios - 亚马逊最新的 SDK 与 iOS 集成出错

android - 移动应用程序是否总是在录制音频时指示?

python - 访问冲突 (0xC0000005) NumPy 数组