gpt4 book ai didi

ios - 从模态窗口调用父 View Controller 的方法时出错

转载 作者:行者123 更新时间:2023-11-29 11:15:08 26 4
gpt4 key购买 nike

我在这里进行的是一个显示搜索结果列表的页面。当您单击搜索按钮时,它会打开一个模式窗口,您可以在其中更改搜索条件。当您单击完成时,它会调用模态窗口上的 updateSearch 方法,而模态窗口又应该调用父窗口上的 updateSearch 方法。我得到的错误是

Receiver type 'ehrxCMView' for instance message does not declare a method with selector 'updateSearch'

这是父 View Controller 上的方法

- (void)updateSearch
{

}

这是我在模态窗口上的方法

- (IBAction)updateSearch:(id)sender 
{
ehrxCMView *parent = (ehrxCMView*)self.parentViewController;
parent.selectedOptions = self.selectedOptions;
[parent updateSearch];
[self dismissModalViewControllerAnimated:YES];
}

我的一个想法是模态窗口在导航 Controller 内,所以我想也许我需要通过它,然后到父 Controller ?

最佳答案

任何时候我看到 self.parentViewController ....这是代码的味道。

不要像这样链接 View Controller ,而是将一个 View Controller 设置为弹出 Controller 上的委托(delegate)方法。然后弹出窗口可以调用它的委托(delegate)来告诉它 updateSearch。

这是一种更好、更易于维护的方法,您应该养成这样做的习惯。

关于ios - 从模态窗口调用父 View Controller 的方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809409/

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