我有一个包含各种单元格的自定义 UITableView
。我通过为每个部分创建 UITableViewCell
的子类来构建此 tableview。你可以在这里看到我的表格。如您所见,我有文本字段、 TextView 和开关。在我的表单底部(不在屏幕截图上)我有一个保存按钮。
我创建了一个具有以下属性的 Person
类。
- 登录
- 密码
- 方法(这是一个数组)
- 电话
- 备注
在我的 viewDidLoad
中,我用我的 persons 对象的数据加载了 tableView
。但是现在我想要当用户更改某些字段并按下保存按钮时,所有字段都保存到人员对象中。
我遇到的问题
- 例如,当我输入一个新的登录名并向下滚动时,该值又变回原来的值。
- 我现在不知道如何将数据保存在我的个人对象中
有人知道我该怎么做吗? 亲切的问候
最佳答案
UITableViewCell 使用缓存机制,当它从屏幕上滚动并重新打开时,它的内容会重新加载。这意味着,通过将单元格滚动出屏幕边界,然后将其滚动回屏幕,您正在重绘单元格。
解决方案是在 TableView Controller 中使用数据源:
- 使用数据源加载应在
tableView:cellForRowAtIndexPath:
方法中的单元格(或单元格的 subview ,如 UITextField)中显示的值。 - 当单元格的内容(或 UITextField 等 subview 的内容)更新时,将单元格的内容保存到数据源。
希望对您有所帮助!
关于iphone - 将数据保存在 UITableView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13881274/