我发现了几个解释如何解决这个问题,但没有一个(我发现)很简单,足以让我理解。 Objective-C新增全局变量不初始化
我正在寻找访问目标c中的多个类中的数组。我试图在“Globals.h”类中创建一个全局变量(我知道效率低下),在另一个类中初始化它们,并在另一个类中访问该信息。
继承人我有。
在Globals.h
#import <UIKit/UIKit.h>
extern NSArray *globalRows;
@interface Globals : NSObject
@end
ViewController.m
#import "Globals.h"
-(void)initGlobal{
globalRows = [[NSArray alloc] initWithArray:rows];
}
编译器不希望初始化变量,我不明白为什么。
编辑:
Globals类只包含全局变量,这个类没有可执行代码。
我在ViewController中初始化的原因就是解析和存储需要的信息。
没有错误,代码将无法编译。
EDIT2:
看来我已经找到了一个很好的解释here!
你为什么要在另一个班上初始化它?至少在'Globals'类中调用方法... – Wain
initGlobal中的代码是否曾经执行过?你有错误吗?请添加更多数据,以便您的问题可以有答案。 –
编辑该问题。 – user3009729