滚动表格视图时文本字段为空

Posted

技术标签:

【中文标题】滚动表格视图时文本字段为空【英文标题】:Textfield gets empty when tableview is scrolled 【发布时间】:2017-06-12 12:27:34 【问题描述】:

我有一个表格视图和一个单独的 xib 用于自定义单元格,其中我有多个标签和一个文本字段。

我想从按钮单击的所有单元格中获取输入的值,但使用 for cell in self.tableViewList.visibleCells 给我的只是可见单元格的值,而所有其他文本字段值都丢失了。

请建议我一些替代方法来获取所有文本字段值。

我正在使用 swift 3 并开发 ipad 应用程序。

【问题讨论】:

分享相关代码 看到这个:***.com/a/27743391/3901620v 【参考方案1】:

您面临的问题是 UITableViewCells 的重用。 不会为每个数据项(行)创建 xib 中的单元格类。 它在滚动时被重复使用,这意味着 UITableViewCell 的同一个实例可以显示多个数据实例。

解决方案是将数据保留在“dataSource”中 - 在 tableView 之外,并将值应用于“cellForRow”方法上的单元格。 在 UITextField 更改时,您必须修改 dataSource 中的值(例如通过使用委托模式)。

【讨论】:

以上是关于滚动表格视图时文本字段为空的主要内容,如果未能解决你的问题,请参考以下文章

文本字段为空时隐藏自动完成表格视图

滚动表格视图时隐藏文本字段数据

滚动表格视图时,文本字段文本在其他文本字段上留下印象

滚动表格视图时删除的文本字段值?

表格视图仅滚动到文本字段底部边缘

选择文本字段时滚动表视图