我在一些不同的类中声明了一个具有相同名称的常量,在它们的 .m
文件中,这样:
@implementation MyViewController
const NSInteger numberOfItems = 6;
...
@end
但是在尝试构建项目时出现“重复符号”错误。我发现有几篇文章处理这个关于外部常量或全局常量的问题,但我想要的只是声明一些对他们的类私有(private)的常量,我该怎么做?
谢谢
最佳答案
如果您只想在一个.m
文件中使用常量,则将其声明为static
。
例如:static NSString * const CONSTANT_STRING = @"Constant I am"
。
在 NSInteger
的情况下,您可以在每个 .m
文件中写入:
static const NSInteger my_const = 3;
如果你想要全局变量(一个常量和一个值在每个文件中可见)那么在你的 .h
中写入:
extern const NSInteger my_global_const;
在你的.m
文件中你可以添加
const NSInteger my_global_const = 5;
关于ios - Objective-C 中的常量和 "duplicate symbol"链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145223/