我在这里看到的是一个显示搜索结果列表的页面。当您单击搜索按钮时,它会打开一个模态窗口,您可以在其中更改搜索条件。单击完成后,它会在模态窗口上调用updateSearch方法,而该窗口又应调用父窗口上的updateSearch。我得到的错误是
Receiver type 'ehrxCMView' for instance message does not declare a method with selector 'updateSearch'
这是父视图控制器上的方法
- (void)updateSearch
{
}
这是我在模态窗口上的方法
- (IBAction)updateSearch:(id)sender
{
ehrxCMView *parent = (ehrxCMView*)self.parentViewController;
parent.selectedOptions = self.selectedOptions;
[parent updateSearch];
[self dismissModalViewControllerAnimated:YES];
}
我的想法是模态窗口在导航控制器内,所以我想也许我需要经历那个,然后到父控制器?
答案 0 :(得分:2)
任何时候我都会看到self.parentViewController ....这是代码味道。
不是像这样链接视图控制器,而是在弹出控制器上将一个视图控制器设置为委托方法。然后弹出窗口可以调用它的委托来告诉它更新。
这是一种更好,更易于维护的方法,你应该养成做的习惯。