一周前我对此有点摸不着头脑,现在有了更多可可经验,我觉得我对可能发生的事情有所了解。
我正在制作一个由 UINavigationController 驱动的应用程序。在 AppDelegate 中,我创建了这个类的一个实例,使用“page 1”作为根视图控制器。
UINavigationController *aNavigationController = [[UINavigationController alloc]
initWithRootViewController:page1ViewController];
现在这就是我遇到问题的地方。从“第 1 页”开始,我想使用一个模态视图控制器,它在界面上滑动,然后在用户进行编辑后消失。我在 Page1ViewController 内部使用这样的代码来做到这一点:
[self presentModalViewController:myModalViewController animated:YES];
当模态视图控制器消失时,我希望“第 1 页”上的值根据用户在模态视图控制器中输入的内容进行更改。所以,我写了一些这样的代码,它驻留在模态视图控制器中:
[self.parentViewController dismissModalViewControllerAnimated:YES];
[self.parentViewController doSomethingPleaseWithSomeData:someData];
没有更新到第 1 页,我花了很长时间才意识到“doSomethingPleaseWithSomeData”消息没有发送到 Page1ViewController,而是导航控制器。
使用导航控制器时是否总是可以预料到这一点?我是否可能配置不正确?有没有一种简单的方法可以访问我想要的视图控制器(在本例中为 Page1ViewController)。