Xcode从顶级对象获取对象

时间:2012-01-23 01:29:20

标签: ios xcode uiviewcontroller

在我的iOS应用设置中,我有一个在顶级对象中声明的通用对象(让我们称之为UniversalObj)。 (在我的情况下SampleAppDelegate

在这个内容中,我有一个包含两个UIViewController的UITabBarController(我希望能够访问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 个答案:

答案 0 :(得分:1)

您可以使用-[UINib instantiateWithOwner:options:]

NSArray * topLevelObjects = [nib instantiateWithOwner:pwner options:options];

答案 1 :(得分:0)

我发现我能够像MyViewController这样访问对象:

[self setMyObj:[(SampleAppDelegate *)[UIApplication sharedApplication].delegate universalObj]];