我發現了幾個解釋如何解決這個問題,但沒有一個(我發現)很簡單,足以讓我理解。 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