Swift - 使用远程JSON数据更新UITableView

时间:2015-08-23 02:14:15

标签: ios json swift uitableview

我正在尝试从远程json文件访问数据。当在搜索栏中输入内容时,会生成一个新的NSURLSessionDataTask来访问json文件。我已经成功地从json文件中提取了我需要的所有数据,但是一旦数据进入就无法更新表视图。要显示数据,我必须滚动才能看到一个单元格不可见屏幕。这将使得只有一个单元格中有正确的值,或者,我也可以在可搜索中键入另一个字母,这将生成一个新的json文件,但是现在只显示前一个请求中的数据。

我已尝试更新主线程中的表视图,但这似乎没有任何区别。我也尝试了其他多种方法,但仍然没有运气。

3 个答案:

答案 0 :(得分:1)

您可以尝试这样

          if let resData = swiftyJsonVar["loginNodes"].arrayObject {
                self.arrRes = resData as! [[String:AnyObject]]
            }

            if self.arrRes.count > 0 {
                self.tableView.reloadData()
            }

注意:arrRes是数组的名称。

答案 1 :(得分:0)

为了获得最佳答案,您希望发布代码,细节,甚至是整个项目的链接,但根据您的说法,数据正确加载到代码中并且不会刷新在表格视图中。

要解决此问题,首先需要引用未加载的表格视图,对于此示例,我将其称为tableView。然后,您可以通过调用

强制它重新加载所有可见数据
tableView.reloadData()

您的JSON数据加载完毕后。

答案 2 :(得分:0)

成功加载数据后,请致电

self.table.reloadData()

它将做什么,它将使用更新的数据再次填充单元格。希望这有助于.. :))