我有一个从UITableViewController到另一个UITableViewController的push segue。对象通过prepareForSegue
传递给第二个VC。第二个VC中存在一个UITextfield来编辑该对象。在第二个VC的textFiedlDidEndEditing
委托方法中修改了该对象。我只是将[self.tableView reloadData]
放在第一个VC的viewDidAppear
方法中,而不是创建委托方法,以更新显示对象的表。
当用户导航回第一个VC时,我需要确保只有在第二个VC的viewDidAppear
完成后才会调用第一个VC中的textFiedlDidEndEditing
并设置新对象。它似乎是以这种方式工作,但这是因为偶然或因为viewDidAppear
仅在前一个VC的方法实现之后被调用?
答案 0 :(得分:2)
viewDidAppear
。我假设您以编程方式弹出第二个视图控制器或使用展开segue。如果是这种情况,请致电
[textField resignFirstResponder];
在你的第二个VC中。
答案 1 :(得分:1)
在textfield的VC中,我必须放置以下代码,以确保在任何其他VC的textFieldDidEndEditing
方法之前调用viewWillAppear
。
[self.view.window endEditing: YES];