考虑UINavigationController或UITabBarController中包含的基本UIViewController。此视图控制器有其容器的引用,有两种:保留对视图控制器遏制中父对象的引用
self.navigationController
self.tabBarController
现在考虑视图控制器遏制的基本例子没有导航控制器或标签栏控制器:
[self addChildViewController: child];
[[child view] setFrame: [[self view] bounds]];
[[self view] addSubview: [child view]];
[child didMoveToParentViewController: self];
如果我想要孩子视图控制器有一个容器的引用,那么最好的方法是什么?
我的猜测是,我会做这样的事情在孩子:
@property (weak, nonatomic) MyContainerController *container;
,并将其设置在同一时间,我将孩子父母,就像这样:
[child setContainer: self];
这是正确的吗?
我想确保我可以引用孩子的容器,但我也关心内存问题。我相信一个强大的财产会阻止ARC释放孩子,即使我将它从容器中移出。这个假设是否正确?
当然。我多么愚蠢。谢谢您的帮助! – Axeva 2014-10-10 19:37:43