解除UIViewController或只是初始化?

时间:2012-02-16 13:19:09

标签: ios uiviewcontroller

我创建了一个iPad应用程序,其中有三个自定义UIViewController。 VC1,VC2,VC3。 它就像一个层次结构,所以你必须逐步完成每个阶段。

因此,您无法直接从VC1跳转到VC3。

但如果你在VC3,你可以直接回到VC2或VC1。 在VC3上,我可以调用dismissViewControllerAnimated来呈现VC2 - 很酷。

但是如果我想从VC3跳回到VC1,最好的方法是什么? 是否有理由将“alloc and init”用于VC1然后再presentViewController:animated:completion

2 个答案:

答案 0 :(得分:1)

是的,因为VC1已经存在会很糟糕,你会有重复的。 您可以使用它从VC3转到VC1。

[self.presentingViewController.presentedViewController dismissModalViewControllerAnimated:YES];

答案 1 :(得分:0)

是的,分配init另一个VC1会非常糟糕。

只需将VC3委托给VC3。

如果要从VC3中解除VC1和VC2,只需调用类似“DismissAllVC”的委托方法 在VC1中进入DismissAllVC方法只需调用

- (void)dismissModalViewControllerAnimated:(BOOL)animated

这将解除VC2和VC3,因为它们是VC1的孩子。

这就是我要做的事情,因为父视图控制器应该始终对孩子的解雇负责。

希望这会有所帮助;)