我有一个地方列表,其右侧导航栏项链接到过滤器页面。我想在过滤器页面上设置参数,只需按一下按钮就可以回到地方列表,同时随身携带数据并刷新上一个视图。我按下按钮时正在执行此操作:
-(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];
}
然而,这会在导航控制器中创建一个新表,并为过滤器留下一个后退按钮,例如。首页 - > Placelist-> Filter-> PlaceList->当我想要的只是Home - >时,过滤它的永无止境的循环。 Placelist - >过滤,但数据可以向后推。感谢。
答案 0 :(得分:3)
除了推送视图控制器之外,你需要选择pop选项,一旦你执行pop,将调用PlaceList的viewWillAppear,你正在使用tableview,你可以在那里获取和重新加载数据。没有弹出就没有必要一次又一次地推动。
答案 1 :(得分:1)
您需要POP视图,但我假设您希望将过滤后的值转换为第一个视图, 所以你有像
这样的选项KVO
代表
如果你需要一个起点,我强烈建议使用代表, 看看这个网址dismissModalViewController AND pass data back
答案 2 :(得分:0)
回家后 - > Placelist-> Filter,在Filter中而不是推视图只需使用以下
[self.navigationController popViewControllerAnimated:YES];
这将从堆栈中删除过滤器视图,并且您的Placelist将可见.....