使用Parse,在我登录后,我会看到PFQueryTableViewController,它显示任务列表和另一个详细视图控制器,允许我编辑任务细节并转回。现在的问题是,在完成编辑并从堆栈中弹出任务详细信息视图后,PFQueryTableViewController不会反映新的更改。但是,当我返回到登录屏幕(在PFQueryTableViewController之前查看)并再次重新进入表视图时,表视图列表会更新。我尝试了以下内容:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.tableView reloadData];
}
以及
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self loadObjects];
[self.tableView reloadData];
}
然而他们似乎没有生效。我的猜测是,在弹出视图并显示表格视图后,数据会更新。我只是想知道在我调查期间是否有人对此有任何见解。谢谢!
答案 0 :(得分:1)
您可以尝试在viewDidAppear中重新查询queryForTable方法(但这会自然地在每个视图外观上使用API请求)
- (void)viewDidAppear:(BOOL)animated {
[self queryForTable];
}
答案 1 :(得分:0)
此答案假定您使用的是本地数据存储,并希望看到其中所做的更改会反映在PFQueryTableViewController中。
由于ParseUI类不通过本地数据存储区实现任何形式的缓存,因此详细视图中所做的更改将不会出现在PFQueryTableViewController中,直到保存操作完成且tableView从Parse获取新项目。
您的问题的一个解决方案是向PFQueryTableViewController添加一个类别,该类别修改了它如何获取数据以包含本地数据存储区中的内容。
答案 2 :(得分:0)
在弹出视图控制器之前,您应确保保存数据。
使用Parse的保存方法和完成处理程序。
[request saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
[self.navigationController popViewControllerAnimated:YES];
}
}];
答案 3 :(得分:0)
您可以使用<asp:Button ID="Button1" runat="server" Text="نمایش" OnClick="Button1_Click1" Width="106px" />
触发[self loadObjects]
中所有对象的刷新。