在我的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
答案 0 :(得分:1)
您可以使用-[UINib instantiateWithOwner:options:]
:
NSArray * topLevelObjects = [nib instantiateWithOwner:pwner options:options];
答案 1 :(得分:0)
我发现我能够像MyViewController
这样访问对象:
[self setMyObj:[(SampleAppDelegate *)[UIApplication sharedApplication].delegate universalObj]];