我正在尝试创建一个Singleton,所以我可以全局使用一个变量,但是我得到了这个错误:
架构arm64的未定义符号:
“_OBJC_CLASS _ $ _ GlobalVariables”,引自: MapViewController.o中的objc-class-ref ld:未找到架构arm64 clang的符号:错误:链接器命令失败并退出 代码1(使用-v查看调用)
此问题的一些解决方案建议在构建阶段添加第三方库,但我不知道要添加哪个库。这是我的Singleton类:
.h
@interface GlobalVariables : NSObject
@property BOOL *MAP_SATELLITE_VIEW;
+ (GlobalVariables*)sharedInstance;
@end
的.m
#import <Foundation/Foundation.h>
#import "GlobalVariables.h"
@implementation GlobalVariables
@synthesize MAP_SATELLITE_VIEW;
#pragma mark Singleton Methods
+ (GlobalVariables*)sharedInstance {
static GlobalVariables *obj = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
obj = [[self alloc] init];
[obj loadVariables];
});
return obj;
}
- (void)loadVariables {
self.MAP_SATELLITE_VIEW = NO;
}
@end
这就是我试图从MapViewController访问MAP_SATELLITE_VIEW变量的方法:
[GlobalVariables sharedInstance].MAP_SATELLITE_VIEW
答案 0 :(得分:2)
确保在“编译源”中添加“GlobalVariables”。构建阶段 - &gt;编译源并添加文件。
答案 1 :(得分:0)
我发现了问题。在右侧xcode的.m文件中,我必须勾选目标成员资格的复选框。