我想用 JSON 数据生成表格视图

I want to generate tableview form with JSON data

我的本地文件中有一个 JSON 数据,我想在我的表单中复制相同的数据。

JSON 数据告诉我们信息,例如哪个字段是必需的,哪个是下拉列表、占位符和更多信息。

我几乎达到了我的目标,但唯一的问题是当我切换文本字段时键盘会双击以显示。

我被困在这个问题上了。谁能帮帮我?

我无法解释小代码的问题,所以添加了完整的源代码,所以请原谅。

这里我添加了我的源代码link,

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)

所以基本规则是说,如果您只想重新加载 table 视图中的一行,请使用 reloadRows 而不是重新加载完整的 table 视图。