2013-02-11 5 views
1

Я новичок в развитии iPhone, так что несите меня. Я пытаюсь получить доступ к массиву, хранящемуся в AppDelegate, с другого контроллера представления, но когда я это делаю, он сообщает мне, что массив пуст.Глобальная переменная в делегате приложения не сохраняется

Я создал NSMutableAarray в AppDelegate, называемом containerTypeArray. Я строю массив объектов в методе AppDelegate под названием:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

После того как я инициализации и инициализации с объектами размер моего массива составляет 92 подтверждается следующим NSLog сообщение:

NSLog(@"container type size %i", [containerTypeArray count]); 

Стараюсь для ссылки на переменную массива в другом контроллере представления. С этой точки зрения контроллера импортировать файл appdelegate.h и написать в представлении сделал метод загрузки:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSLog(@"count at load %i", [appDelegate.containerTypeArray count]); 

На этот раз граф NSLog 0.

Может кто-нибудь сказать мне, что я Неправильно? Благодаря!

ответ

2

Это потому, что application:didFinishLaunchingWithOptions вызывается после viewDidLoad.

Документация application:didFinishLaunchingWithOptions:

Вы должны использовать этот метод (и соответствующее приложение: didFinishLaunchingWithOptions: метод) для инициализации приложения и подготовить его к запуску. Этот метод вызывается после запуска вашего приложения и его основной файл раскадровки или файл nib был загружен, но до состояния вашего приложения было восстановлено. Во время вызова этого метода ваше приложение находится в неактивном состоянии.

Таким образом, представление загружается перед приложением: метод didFinishLaunchingWithOptions.

Есть related SO question о сроках использования этих методов.

+0

Интересно! Благодаря! – tanya

+1

В StackOverflow вы проявляете благодарность за счет поиска и принятия ответов. Пожалуйста. :) –

Смежные вопросы