Swift UITableView如何在滚动上保留已编辑的值

时间:2017-11-14 18:40:18

标签: ios swift uitableview

我正在关注此链接https://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-multiple-cell-types-2df91a206429以通过读取JSON数组在uitableview中生成动态字段,我在该示例中更改的内容不是仅显示我将标签设置为可编辑的数据,而是将其设置为UITextField,我知道tableview会重新生成每个进出视图的单元格。我想了解如何在每个单元格中保留已编辑的值。

1 个答案:

答案 0 :(得分:0)

基本上,表视图应该显示数据源的数据。

在您的情况下(在中间示例中),数据源的类型为ProfileViewModel,其中包含ProfileViewModelItem类型的项目数组。每个单元格都显示一个ProfileViewModelItem的数据。

保留已修改值的方法是更改​​正在编辑文本字段的单元格所显示的项目。

因此,每当用户键入文本字段时,您应该更改项目(ProfileViewModelItem)中的数据,该项目包含文本字段显示的文本。这样文本字段和项目是同步的,如果单元格消失,当它返回到屏幕上时,文本字段将显示该项目中的相同文本,这与上次出现的文本相同。单元格在屏幕上的最后一个文本字段。