0

我有一个带有链接到过滤器页面的右侧导航栏项目的地点列表。我想在过滤器页面上设置参数并按下按钮将其推回位置列表,同时随身携带数据并刷新前一个视图。按下按钮时,我目前正在执行此操作:

-(IBAction)save:(id)sender
{
    PlaceList *placelist = [[PlaceList alloc] initWithNibName:@"PlaceList" bundle:nil];
    placelist.searchTxt = self.searchTxt.text;
    placelist.type = self.type;
    [self.navigationController pushViewController:placelist animated:YES];
    [placelist release]; 
}

但是,这会在导航控制器中创建一个新表,并为过滤器留下一个后退按钮,例如。Home -> Placelist->Filter->PlaceList->Filter 它是一个永无止境的循环,当我想要的只是 Home -> Placelist -> Filter 但数据可以向后推送。谢谢。

4

3 回答 3

3

而不是推送视图控制器,您需要选择弹出选项,一旦您执行弹出,PlaceList 的 viewWillAppear 将被调用,您正在使用 tableview,您可以在那里获取和重新加载数据。在没有弹出的情况下一次又一次地推动是没有意义的。

于 2012-04-27T11:42:21.490 回答
1

您需要弹出您的视图,但我假设您希望将过滤后的值放入第一个视图中,因此您可以选择

KVO

代表们

我强烈建议使用委托,如果您需要一个起点,请查看此urldismissModalViewController 并将数据传回

于 2012-04-27T13:58:56.743 回答
0

在 Home -> Placelist->Filter 之后,在 Filter 而不是推送视图中,只需使用以下内容

    [self.navigationController popViewControllerAnimated:YES];

这将从堆栈中删除过滤器视图,并且您的 Placelist 将可见.....

于 2012-04-27T12:01:52.340 回答