Ios Xcode从顶级对象获取对象

Ios Xcode从顶级对象获取对象,ios,xcode,uiviewcontroller,Ios,Xcode,Uiviewcontroller,在我的iOS应用程序设置中,我在顶级对象中声明了一个通用对象(称之为UniversalObj)。(SampleAppDelegate在我的例子中) 其中,我有一个UIAbbarController,其中包含两个UIViewController(我想访问UniversalObj) 在SampleAppDelegate中,我尝试将UniversalObj传递给它: MyViewController *vc = (MyViewController *) [self.tabBarController.v

在我的iOS应用程序设置中,我在顶级对象中声明了一个通用对象(称之为
UniversalObj
)。(
SampleAppDelegate
在我的例子中)

其中,我有一个UIAbbarController,其中包含两个
UIViewController
(我想访问
UniversalObj

SampleAppDelegate
中,我尝试将
UniversalObj
传递给它:

MyViewController *vc = (MyViewController *) [self.tabBarController.viewControllers.objectAtIndex:0];
[vc setMyObj:self.universalObject];
问题是,当我这样做时,有时视图还没有加载,所以
MyViewController.myObj==null

现在,我正试图从
MyViewController
访问
SampleAppDelegate
(类型为
NSObject
)。我可以使用:
***self.parentViewController***
访问
UIAbbarController
,但我不知道如何访问
SampleAppDelegate

如何从
MyViewController
访问
SampleAppDelegate
中的
UniversalObj
?如何更改
MyViewController
中的
self.parentViewController
行以访问
SampleAppDelegate
?或者有更好的方法吗

提前感谢你的帮助


Guvvy

您将使用
-[UINib实例化所有者:选项:]

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

您将使用
-[UINib实例化所有者:选项:]

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

我发现我可以从
MyViewController
访问对象,如下所示:

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

我发现我可以从
MyViewController
访问对象,如下所示:

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

谢谢!但是我如何获得一个UINib对象呢?我是否只需要使用
[UINib alloc]
?我应该为
owner
参数指定什么?它只是
self.parentViewController
?@Guvvy a+b)
+[UINib-nibWithNibName:bundle:
是常用的方法。c) 您必须根据您在这里加载的实际nib来确定它——它的文件所有者是什么?这是否对应于现有对象/实例或新实例?我用另一种方法计算出来,但感谢您的帮助!谢谢但是我如何得到一个UINib对象呢?我只是用
[UINib alloc]
做一个吗?我应该为
owner
参数指定什么?这仅仅是自我。parentViewController?@Guvvy a+b)
+[UINib-nibWithNibName:bundle:
是常见的方法。c) 您必须根据您在这里加载的实际nib来确定它——它的文件所有者是什么?这是否对应于现有对象/实例或新实例?我用另一种方法计算出来,但感谢您的帮助!