我正在制作一个小而简单的应用程序,所以我决定使用全局变量而不是单例。我也只用一个。
我的应用程序从一个小的首选项文件中提取一个 int,并将其设置为全局变量作为 NSInteger。应用程序运行时可能会更改全局变量。
应用控制器.h
#import <Cocoa/Cocoa.h>
extern NSInteger preferenceNumber;
@interface ....
应用控制器.m
-(void)someMethod {
...
//fileContents is a string containing the int that is inside the file
preferenceNumber = [fileContents intValue]
...
}
链接器错误 (2):架构 x86_64 的未定义符号: “_preferenceNumber”,引用自: AppController.o 中的 -[AppController someMethod1] -AppController.o 中的 [AppController someMethod2:] ld:未找到架构 x86_64 的符号clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
粗体部分是两个错误。
这是什么原因造成的?解决它的最简单,最好的方法是什么?