Я нашел несколько объяснений, как исправить это, но ни один из них (который я нашел) достаточно прост для понимания. Новое в Objective-c.Глобальные переменные не инициализируются
Я ищу доступ к массиву в нескольких классах в объективе c. Я пытаюсь создать глобальную переменную (я знаю, неэффективна) в классе «Globals.h», инициализировать их в другом классе и получить доступ к этой информации в еще одном классе.
Heres то, что у меня есть.
В 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];
}
Компилятор не хочет инициализировать переменную, и я не понимаю, почему.
EDIT:
Класс Globals предназначен только для хранения глобальных переменных, в этом классе нет исполняемого кода.
Причина, по которой я инициализирую в ViewController, заключается в том, что информация, необходимая для анализа, хранится.
Ошибка отсутствует, и код не будет компилироваться.
EDIT2:
Кажется, я нашел очень хорошее объяснение here!
Зачем вам инициализировать его в другом классе? В режиме аренды вызовите метод в классе 'Globals' ... – Wain
Является ли код в initGlobal когда-либо выполненным? У вас есть ошибка? Пожалуйста, добавьте больше данных, чтобы ваш вопрос мог получить ответ. –
Отредактировано вопросом. – user3009729