我的本地文件中有一个JSON数据,我想在我的表单中复制它。
JSON数据告诉我们信息,如需要哪个字段,即下拉列表,占位符和更多信息。
几乎我实现了我的目标,但只有键盘在我切换文本字段时才会显示双击。
我被困在这个问题上。任何人都可以帮助我吗?
我无法解释小代码的问题,这就是添加完整源代码的原因,请原谅。
此处我正在添加源代码链接
https://drive.google.com/file/d/12vhrz6CgDSuma6ViYOsGkCIb9SE6fSbR/view
答案 0 :(得分:0)
尝试使用:
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将永远保存在内存中
答案 1 :(得分:0)
在updateModel函数中,您需要替换
self.tableView.reloadData()
带
self.tableForm?.reloadRows(at: [indexPath], with: .automatic)
所以基本规则说如果你只想在表视图中重新加载一行,请使用reloadRows而不是重新加载完整的表视图。