【发布时间】:2015-11-06 20:38:21
【问题描述】:
我正在尝试初始化全局变量,但是我不确定自己做错了什么,因为我收到了一个错误。
现在,我将一个 Globals.h 文件导入到我的 AppDelegate 中。在这里,我声明:
#ifndef Globals_h
#define Globals_h
#endif /* Globals_h */
extern NSArray *CompetencyOne;
extern NSArray *CompetencyTwo;
extern NSArray *CompetencyThree;
extern NSArray *CompetencyFour;
extern NSArray *CompetencyFive;
extern NSArray *CompetencySix;
extern NSArray *CompetencySeven;
extern NSArray *CompetencyEight;
extern NSArray *CompetencyNine;
extern NSArray *CompetencyTen;
extern NSArray *CompetencyEleven;
extern NSArray *CompetencyTwelve;
extern NSArray *Competencies;
然后,我不确定在哪里定义这些数组。我在 AppDelegate.m 中尝试了 didFinishWithLaunchingOptions 方法和 ViewController 的 viewDidLoad 方法,并创建了一个单独的方法,
-(void) initializeCompetencies{ <arrays with values>}
在 ViewController 中,但我不断收到相同的错误:
Undefined symbols for architecture x86_64:
"_Competencies", referenced from:
-[QuestionViewController viewDidLoad] in QuestionViewController.o
-[QuestionViewController changed:] in QuestionViewController.o
-[QuestionViewController nextMilestone:] in QuestionViewController.o
-[QuestionViewController pressBack:] in QuestionViewController.o
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyEight", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyEleven", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyFive", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyFour", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyNine", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyOne", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencySeven", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencySix", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyTen", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyThree", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyTwelve", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
"_CompetencyTwo", referenced from:
-[QuestionViewController initializeCompetencies] in QuestionViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
知道如何正确声明和初始化全局数组吗?或者,如何解决这个错误?谢谢!
【问题讨论】:
标签: objective-c