Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何通过单击按钮更改tableView的内容?_Ios_Json_Swift_Uitableview_Swift2 - Fatal编程技术网

Ios 如何通过单击按钮更改tableView的内容?

Ios 如何通过单击按钮更改tableView的内容?,ios,json,swift,uitableview,swift2,Ios,Json,Swift,Uitableview,Swift2,我的ViewController中有一个tableView。我从json加载viewController获取数据。但我想单击按钮,从另一个url json获取数据,并替换tableView的数据以获取新的数据 我使用的是重新加载函数,然后解析json,但数据没有被替换 func do_table_refresh() { dispatch_async(dispatch_get_main_queue(), { self.tableView.reloadData() retur

我的ViewController中有一个tableView。我从json加载viewController获取数据。但我想单击按钮,从另一个url json获取数据,并替换tableView的数据以获取新的数据

我使用的是重新加载函数,然后解析json,但数据没有被替换

 func do_table_refresh()
 {
 dispatch_async(dispatch_get_main_queue(), {
     self.tableView.reloadData()
    return
 })
 }
我该怎么做?有可能吗

var queue : dispatch_queue_t!
queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)


dispatch_async(queue) { () -> Void in
  // load json data
 }
  dispatch_async(dispatch_get_main_queue(), { () -> Void in
     self.tableView.reloadData()
       })
  }

试试这个

您是否实际根据表读取的同一模型设置新数据?因为对tableView.reloadData()的调用应该可以工作。尝试在reloadData()行和CellForRowatineXpath方法上设置断点,并检查在reloadData()之后是否正在调用断点。多花一点代码会有防御性帮助。您是否确实刷新了UITableViewDataSource正在使用的数据?