我的本地文件中有一个JSON数据,我想在我的表单中复制相同的数据。
JSON 数据告诉我们信息,例如哪个字段是必需的,哪个是下拉列表、占位符和更多信息。
几乎我实现了我的目标,但只有键盘双击以显示我切换文本字段的时间。
我被困在这个问题上。谁能帮我?
我无法解释小代码的问题,这就是为什么添加完整的源代码,所以请原谅。
在这里我添加我的源代码链接,
https://drive.google.com/file/d/12vhrz6CgDSuma6ViYOsGkCIb9SE6fSbR/view
尝试使用 :
func updateModel(text: String, indexPath: IndexPath) {
var item = self.viewModel.get(at: indexPath)
item.value = text
item.indexPath = indexPath
self.viewModel.formModel[indexPath.section].items![indexPath.row] = item
self.tableForm?.reloadRows(at: [indexPath], with: .automatic)
}
另外,避免使用弱自我的保留循环:
self.viewModel.fetchFormData(fileName: "fields") { [weak self] (data, error) in
if (error?.isEmpty)! {
self?.tableForm?.reloadData()
}
}
否则,ViewController 和 ViewModelForm 将永远保存在内存中
在 updateModel 函数中,您需要替换
self.tableView.reloadData()
跟
self.tableForm?.reloadRows(at: [indexPath], with: .automatic)
因此,基本规则说,如果您只想重新加载表视图中的单个行,请使用 reloadRows 而不是重新加载完整的表视图。