2015-08-23 35 views
-2

我想從遠程json文件訪問數據。當某些東西被輸入到搜索欄中時,將創建一個新的NSURLSessionDataTask來訪問json文件。我已經成功地從json文件中提取了所需的所有數據,但是一旦數據進入,就無法更新表格視圖。爲了顯示數據,我必須滾動以便一個單元格不可見屏幕。這將使得只有一個單元格具有正確的值,或者,我還可以在可搜索的類型中鍵入另一個字母,這將生成一個新的json文件,但前一個請求中的數據現在僅顯示。Swift - 用遠程JSON數據更新UITableView

我已經嘗試更新主線程中的表視圖,但似乎沒有任何區別。我也嘗試了多種其他方法,但仍然沒有運氣。

+0

嘗試調用table.reloadData()的時候,你已經走在數據? 「我嘗試在主線程中更新表格視圖,但這似乎沒有任何區別,我也嘗試了其他多種方法,但仍然沒有運氣。」你究竟是什麼嘗試更新tableview? – Gintama

+0

你必須發佈你的代碼,讓我們看看 – Lamar

+0

你可以試試這個 https://stackoverflow.com/questions/45048237/how-get-json-data-in-swift-and-add-it-to-url/45048494#45048494 –

回答

0

爲了獲得最佳答案,您需要發佈代碼,細節,甚至是完整項目的鏈接,但根據您所說的數據正確加載到代碼中,並且未刷新表視圖。

要解決這個問題,您首先需要引用未加載的表視圖,對於此示例,我將其稱爲tableView。然後你可以通過調用

tableView.reloadData() 

在你的JSON數據加載完成後強制它重新加載所有可見數據。

0

當你的數據加載成功只是叫

self.table.reloadData() 

它的作用是將與更新的數據再次填充細胞。希望這有助於.. :)

0

你可以嘗試這樣的

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

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

注:arrRes是數組的名字。