UITableView 的 reloadData 在完成的函数中不起作用

reloadData for UITableView doesn't work in a function with completion

我正在尝试使用完成处理程序在调用函数中调用 reloadData() 函数:

override func viewDidLoad()
{
    super.viewDidLoad()

    let appDel: AppDelegate = UIApplication.shared.delegate as! AppDelegate
    let context: NSManagedObjectContext = appDel.managedObjectContext

    tableView.rowHeight = UITableViewAutomaticDimension

    do{
        var request = NSFetchRequest<NSFetchRequestResult>(entityName: "Actualites")
        let count  = try context.count(for: request)
        if (count == 0) {
            REST().getArticles(limit: 5, limitstart: 0, catid: 6, key: "47347fd312afb0625020028298560d1f", context: context) {  (json) in

                CoreDataHelper().saveArticles(new: true, saveArticles: json, context: context)

                DispatchQueue.main.async {
                    self.tableView.reloadData()
                }
            }
        }

        actualites = try context.fetch(request) as! [Actualites]
    }catch{
        print(error)
    }
    DispatchQueue.main.async {
        self.tableView.reloadData()
    }
}

当我进入 if count 时...未重新加载 uiTableView。

actualites = try context.fetch(request) as! [Actualites]

actualities 也需要在您获得响应数据时进行更新。 UITableView 不知道这个值是从核心数据获取请求中填充的。

do {
        var request = NSFetchRequest<NSFetchRequestResult>(entityName: "Actualites")
        let count  = try context.count(for: request)
        if (count == 0) {
            REST().getArticles(limit: 5, limitstart: 0, catid: 6, key: "47347fd312afb0625020028298560d1f", context: context) {  (json) in

                CoreDataHelper().saveArticles(new: true, saveArticles: json, context: context)

                DispatchQueue.main.async {
                    actualites = try context.fetch(request) as! [Actualites]
                    self.tableView.reloadData()
                }
            }
        }
    } catch {
        print(error)
    }