【问题标题】:Swift - Updating a UITableView with remote JSON dataSwift - 使用远程 JSON 数据更新 UITableView
【发布时间】:2015-11-16 17:03:07
【问题描述】:

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

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

【问题讨论】:

  • 当你有数据进来时尝试调用 table.reloadData() ? “我已经尝试在主线程中更新表格视图,但这似乎没有任何区别。我还尝试了多种其他方法,但仍然没有运气。”您到底尝试更新 tableview 什么?
  • 你必须发布你的代码让我们看看
  • 你可以试试这个:- 链接:stackoverflow.com/questions/45048237/…

标签: ios json swift uitableview


【解决方案1】:

当您的数据成功加载后,只需调用

self.table.reloadData()

它将使用更新的数据再次填充单元格。

【讨论】:

    【解决方案2】:

    你可以这样试试

              if let resData = swiftyJsonVar["loginNodes"].arrayObject {
                    self.arrRes = resData as! [[String:AnyObject]]
                }
    
                if self.arrRes.count > 0 {
                    self.tableView.reloadData()
                }
    

    注意:arrRes 是数组的名称。

    【讨论】:

      【解决方案3】:

      为了获得最佳答案,您需要发布代码、细节,甚至可能是完整项目的链接,但根据您所说的数据已正确加载到代码中,并且没有在表视图。

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

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

      在您的 JSON 数据完成加载之后。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-03
        • 1970-01-01
        • 2016-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-01
        • 1970-01-01
        相关资源
        最近更新 更多