我想用JSON数据生成tableview表单

时间:2018-01-19 09:12:09

标签: ios iphone swift xcode ipad

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

JSON数据告诉我们信息,如需要哪个字段,即下拉列表,占位符和更多信息。

几乎我实现了我的目标,但只有键盘在我切换文本字段时才会显示双击。

我被困在这个问题上。任何人都可以帮助我吗?

我无法解释小代码的问题,这就是添加完整源代码的原因,请原谅。

此处我正在添加源代码链接

https://drive.google.com/file/d/12vhrz6CgDSuma6ViYOsGkCIb9SE6fSbR/view

2 个答案:

答案 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而不是重新加载完整的表视图。