0

我的应用有 4 个视图控制器。第一个 VC 实例化一个对象并拥有它的“强”所有权。每个 VC 都将其传递给它们各自的子 VC,它们与该对象的关系都很弱。当最后一个 VC 完成并执行 popToRootViewController 时,我希望最后一个 VC 重置此对象,以便第一个 VC 可以使用新的空对象,我该如何实现?我尝试将对象设置为 nil 并为该对象分配一个新对象,但遗憾的是,这不起作用。有任何想法吗?

4

1 回答 1

0

使用委托。将第二个 VC(即根的第一个子级)设置为具有一个名为委托(或父级等)的属性,该属性设置为指向父级。与其通过弱引用来调整它,不如告诉父级释放它,然后弹出。

或者,如果您不希望每个人都必须知道父级,您可以通过 直接访问顶视图控制器UIApplicationDelegate,假设它具有 VC 的属性。实际上,您可以在此处放置对共享对象的引用,然后直接将其重置。

于 2012-04-27T09:08:55.060 回答