0

我有 UITableViewController 和编辑/保存按钮作为 BarItem。我有一个自定义单元格,它在编辑模式下显示 UITextField。当我将焦点移到另一个单元格等时,我可以保存修改后的文本。没问题。但是,当我尝试修改字段并按下触发 setEditing:NO save 等的保存按钮时,我的问题就开始了。我认为正在发生的是一种竞争条件,在处理 editDidEnd 之前触发了保存操作,因此我没有保存所有的数据。
有关如何处理此问题的任何建议?我是否要遍历所有可见单元格以保存所有数据?我绝对可以这样做,但是我会在单击滚动和编辑按钮时遇到同样的问题吗?有没有更好的方法来刷新消息队列?

4

1 回答 1

0

鉴于我没有接受者,我认为我坚持我所知道的:

  1. 在完成/保存(即 setEditing:NO)处理中遍历所有单元格并保存它们的数据
  2. 每次发生变化时保持更新数据,即可能在 Value Changed 中
  3. 尝试使用 UITextFieldDelegate 和 textFieldShouldEndEditing 但我不确定这是否可行,因为我可能会遇到与我相同的问题。

我相信 setEditing 中的 endEditing 将解决问题,因为它应该让文本字段的第一响应者辞职。

于 2013-02-21T00:22:27.357 回答