我有一个带有链接到过滤器页面的右侧导航栏项目的位置列表。我希望在过滤器页面上设置参数,并在按下按钮时返回到placelist,同时获取数据并刷新以前的视图。当按钮被按下时,我当前正在执行此操作:
-(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];
}
然而,这会在导航控制器中创建一个新的表,并给过滤器留下一个后退按钮。主页->位置列表->过滤器->位置列表->过滤器当我只想要主页->位置列表->过滤器,但数据可以向后推送时,它是一个永无止境的循环。谢谢。
发布于 2012-04-27 13:58:57
您需要弹出视图,但我假设您希望将过滤值放入第一个视图中,因此您有如下选择
KVO
代表们
我强烈建议使用委托,如果您需要一个起点,请查看以下url dismissModalViewController AND pass data back
发布于 2012-04-27 11:42:21
而不是推视图控制器,你需要去pop选项,一旦你做了pop,PlaceList的viewWillAppear就会被调用,你正在使用tableview,你可以在那里获取和重新加载数据。一次又一次地推送而不弹出是没有意义的。
发布于 2012-04-27 12:01:52
在首页->位置列表->过滤器之后,在过滤器中,只需使用以下命令而不是推送视图
[self.navigationController popViewControllerAnimated:YES];
这将从堆栈中删除筛选器视图,并且您的位置列表将可见.....
https://stackoverflow.com/questions/10349924
复制