Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 全局变量的链接器错误_Objective C_Cocoa_Global Variables_Linker Errors - Fatal编程技术网

Objective c 全局变量的链接器错误

Objective c 全局变量的链接器错误,objective-c,cocoa,global-variables,linker-errors,Objective C,Cocoa,Global Variables,Linker Errors,我正在制作一个小而简单的应用程序,所以我决定在单例上使用全局变量。我也只使用了一个 我的应用程序从一个小的首选项文件中提取一个int,并将其设置为全局变量NSInteger。应用程序运行时,可能会更改全局变量 AppController.h #import <Cocoa/Cocoa.h> extern NSInteger preferenceNumber; @interface .... 链接器错误(2): 架构x86_64的未定义符号: “\u首选项编号”,引用自: -App

我正在制作一个小而简单的应用程序,所以我决定在单例上使用全局变量。我也只使用了一个

我的应用程序从一个小的首选项文件中提取一个int,并将其设置为全局变量NSInteger。应用程序运行时,可能会更改全局变量

AppController.h

#import <Cocoa/Cocoa.h>

extern NSInteger preferenceNumber;

@interface ....
链接器错误(2): 架构x86_64的未定义符号: “\u首选项编号”,引用自: -AppController.o中的[AppController someMethod1] -AppController.o中的[AppController someMethod2:] ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)

粗体部分是两个错误


这是什么原因造成的?最简单、最好的解决方法是什么?

只需在实现类中添加一行:-

AppContollr.m


@implementation AppContoller
NSInteger preferenceNumber;

preferenceNumber
的定义在哪里?@Sebastian抱歉,它就在那里,我刚刚忘了把它转换成代码。它的in-App Controller.m我把它编辑回来了,它仍然不是一个定义,只是一个
首选项编号的声明。
AppContollr.m


@implementation AppContoller
NSInteger preferenceNumber;