我有一个 TableView ,只要发现新的外围设备就会重新加载。 我在每个单元格上都有一个按钮。此按钮允许将外围设备添加到阵列。现在添加按钮后,我想将其更改为取消,这就是我所做的。这里的问题是,表格总是重新加载,因此按钮总是返回到它的初始状态(ADD)。 请问有什么解决办法吗?
最佳答案
您的表格单元格应反射(reflect)数据模型中项目的状态。每次重新加载表格时,由于表格 View 通过其委托(delegate)请求单元格,因此您应该为每个单元格设置反射(reflect)当前状态所需的信息。听起来您只是在跟踪事件单元格中的状态,而不是将整体状态保留在数据模型中。
因此,当表格 View 询问给定 indexPath 的单元格时:
1) 为请求的 indexPath 出列一个单元格。
2) 设置单元格,使其知道它是数据模型的哪一部分的 View 。单元格中的显示/按钮应反射(reflect)数据模型中的内容。
3) 在您的按钮中,使目标操作更新数据模型而不是单元格。
4) 如果通过单元格中的按钮更改了数据模型,则仅重新加载该行而不是整个表格。重新加载该行将导致表格要求一个新的单元格,该单元格现在将反射(reflect)您的数据模型。
这将使您的单元格不受表重新加载的影响,因为您现在正在正确跟踪状态。
关于ios - 将 Button 添加到常量可变 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29694000/