0

假设我有3个UIViewControllersA,B,C。

现在假设我从 A 调用 B 或 C。不是使用 segue,而是在代码中实例化它们并将它们推送到navigationController.

在 B 或 C 完成后,他们调用popViewControllerAnimated:并因此返回到 A。

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

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

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

4

1 回答 1

0

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

于 2012-09-20T16:37:13.720 回答