哪个UIViewController调用popViewControllerAnimated:?

时间:2012-09-20 16:20:07

标签: objective-c uiviewcontroller pushviewcontroller popviewcontrolleranimated

假设我有3 UIViewControllers A,B,C。

现在让我说我从A调用B或C.不用segues,但是在代码中实例化它们并将它们推送到navigationController

完成B或C后,他们会调用popViewControllerAnimated:,然后返回A.

此时我想访问B或C的属性,具体取决于它们中哪一个实际上是我使用的最后一个属性。

如果最后一个UIViewController属于B或C类型,是否有任何方法或属性可以提供给我信息?

我知道我可以为B和C定义一个协议,并将A设置为delegate,但我正在寻找其他东西......

1 个答案:

答案 0 :(得分:0)

由于每次都可以设置不方便,委托模式解决此问题的正确方法。也就是说,快速到达那里的最快,最黑客的方法可能只是保持对你在A的实例变量或属性中推送的最后一个viewController的引用,然后在-viewWillAppear:中使用它。但是,一旦事情开始变得复杂,确保这个属性总是正确的,最终可能比设置一个简单的委托更多的工作。