0

我有一个从 UITableViewController 到另一个 UITableViewController 的推送序列。一个对象通过 传递给第二个 VC prepareForSegue。在第二个 VC 中存在一个 UITextfield 来编辑该对象。该对象在第二个 VC 的textFiedlDidEndEditing委托方法中被修改。我没有创建委托方法,而是简单地放置[self.tableView reloadData]在第一个 VC 的viewDidAppear方法中来更新显示对象的表。

当用户导航回第一个 VC 时,我需要确保viewDidAppear只有在第二个 VCtextFiedlDidEndEditing完成并设置新对象后才会调用第一个 VC。它似乎以这种方式工作,但这是因为机会还是因为viewDidAppear仅在以前的 VC 方法实现后才调用?

4

2 回答 2

2

viewDidAppear当您的第一个视图重新出现在屏幕上时将被调用。我假设您正在以编程方式弹出第二个视图控制器或使用 unwind segue。如果是这种情况,请致电

[textField resignFirstResponder];

在你的第二个 VC 中。

于 2012-10-01T22:20:10.150 回答
1

在文本字段的 VC 中,我必须放置以下代码以确保textFieldDidEndEditing在任何其他 VCviewWillAppear方法之前被调用。

[self.view.window endEditing: YES];
于 2012-10-02T17:21:31.537 回答