如何更新tableview json

如何更新tableview json

问题描述:

我想在更改mysql数据库中的数据后更新我的tableview数据,但它不工作。在我parsejson功能我试着用:如何更新tableview json

dispatch_async(dispatch_get_main_queue(),{ 

        self.movies = movieArray 
        self.tableView.reloadData() 

当然这是行不通的,因为这个功能是不是在tableviewcontroller所以它不能识别的tableview。是否有可能从tableviewcontroller另一个文件中的函数重新加载tableview,以及如何?

问候

您更新数据后,通知你的tableviewController到UPDATA它的模型,之后重装你的tableview。

使用Swift Closures。代码

部件看起来就像是:

DataLoader.swift

class DataLoader: NSObject { 

    func uploadData(completion: ([AnyObject]) ->()) { 
     let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT 
     dispatch_async(dispatch_get_global_queue(priority, 0)) { 
      let array = [1, 2, 3, 4] //load your data in background thread 
      dispatch_async(dispatch_get_main_queue()) { 
       completion(array) //send completion in main thread 
      } 
     } 
    } 
} 

ViewController.swift

class ViewController: UIViewController { 
    let dataLoader = DataLoader() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.dataLoader.uploadData { 
      (any) in 
      if let movieArray = any as? [Int] { //Here instead of [Int] should be your array of objects e.g. [Movies] 
       print("result: \(movieArray)") 
       self.movies = movieArray 
       self.tableView.reloadData() 
      } 
     } 
    } 
}