Xcode получить объект из объекта верхнего уровня - PullRequest
1 голос
/ 23 января 2012

В моей настройке приложения для iOS у меня есть универсальный объект (назовем его UniversalObj), объявленный в объекте верхнего уровня. (SampleAppDelegate в моем случае)

В этом у меня есть UITabBarController, содержащий два UIViewController (к которым я хочу иметь доступ UniversalObj.

В SampleAppDelegate я попробовал следующее, чтобы передать ему UniversalObj:

MyViewController *vc = (MyViewController *) [self.tabBarController.viewControllers.objectAtIndex:0];
[vc setMyObj:self.universalObject];

Проблема в том, что когда я это делаю, иногда представление еще не загружается, поэтому MyViewController.myObj==null.

Теперь я пытаюсь получить доступ к SampleAppDelegate (типа NSObject) из MyViewController. Я могу добраться до UITabBarController используя: ***self.parentViewController***, но я не знаю, как добраться до SampleAppDelegate.

Как мне получить доступ к UniversalObj в SampleAppDelegate из MyViewController? Как изменить строку self.parentViewController в MyViewController, чтобы получить SampleAppDelegate? Или есть лучший способ сделать это?

Заранее спасибо за помощь.

Guvvy

Ответы [ 2 ]

1 голос
/ 23 января 2012

Вы бы использовали -[UINib instantiateWithOwner:options:]:

NSArray * topLevelObjects = [nib instantiateWithOwner:pwner options:options];
0 голосов
/ 23 января 2012

Я обнаружил, что смог получить доступ к объекту с MyViewController следующим образом:

[self setMyObj:[(SampleAppDelegate *)[UIApplication sharedApplication].delegate universalObj]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...