Swift 3 - 如何在moveRowAt IndexPath之前触发textFieldDidEndEditing?

时间:2017-04-07 16:52:17

标签: ios swift uitableview

当我开始"编辑模式"在tableView中,我可以(1)在单元格中编辑textField,以及(2)移动行。

为了编辑textField,我在textFieldDidEndEditing中实施了代码,并移动了我使用moveRowAt IndexPath的行。

它们都能独立运作,但如果在textField被解雇之前我无法保存moveRowAt IndexPath内容......

问题出在我做的时候:

a)开始编辑。

b)点击textField然后写点东西。

c)在录制另一个textField之前移动一行。

- >行正在移动,但textField未保存。

如何在开始移动行之前保存textField

1 个答案:

答案 0 :(得分:0)

你必须保留你的文本字段值的记录,因为如果你移动行,那么你的行将被移动,并且根据你将交换你的数据源(数组)也是我假设的!因此,您必须保留文本字段的文本记录。您可以使用textfield的委托方法" shouldchangecharacter"因此,每当您键入时,您将在该方法中获取一个字符串,并且每次都存储具有相应索引路径的最新字符串,并将该文本设置为来自" cellforrow"移动你的行后!