gpt4 book ai didi

ios - 模态视图关闭时如何获得准确的 PresentingViewController

转载 作者:行者123 更新时间:2023-11-28 21:29:59 28 4
gpt4 key购买 nike

我的应用导航如下:

NavigationController ---> RootViewController --(Show Segue)-> SomeViewController --(Show Segue)-> ParentViewController (With ContainerView)

所以,ParentViewController 有一个容器 View 。此容器 View 在运行时以编程方式填充,具体取决于用户选择。所以,基本上 View 层次结构是这样的:

ParentViewController (With ContainerView) ---(Embed Segue) --> ContainerViewController --(Custom Segue, for deciding which child to show at runtime) ---> FirstChildViewController/SecondChildViewController

现在,当在 SecondChildViewController 中点击按钮时,我会显示模态视图。一切都很好,到此为止。

但是,现在我想在 ModalViewController 解雇时更新 SecondChildViewController 中的数据。我尝试在 ModalViewController 中这样做:

SecondChildViewController *secondChildVC = (SecondChildViewController *)self.presentingViewController;
[self dismissViewControllerAnimated:YES completion: ^{ [secondChildVC updateList]; }];

但是,我收到以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController updateList]: unrecognized selector sent to instance 0x127e451b0'

我该如何解决这个问题?那么,具体来说,我怎样才能得到“真正的”presentingViewController?我知道它的导航有点奇怪,从用户体验的角度来看, View 上有太多堆叠,但这是客户想要实现的方式。

最佳答案

我不确定我是否正确理解了你的问题。如果您有一个 ViewController A,呈现 ViewController B,并且如果您希望在 B 被关闭时调用 A 中的方法 - 您可以让 A 成为 B 的委托(delegate)。

在此处阅读有关协议(protocol)和委托(delegate)的更多信息: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html

关于ios - 模态视图关闭时如何获得准确的 PresentingViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36542865/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com