gpt4 book ai didi

ios - 使用 Web 服务获取 CoreData 后台?

转载 作者:行者123 更新时间:2023-11-28 12:57:20 31 4
gpt4 key购买 nike

我想在后台更新我设备上的一些数据。例如:

我将获得一个网络服务,它会返回一些我需要存储到我的核心数据中的更改。所以我的目标是使用 Alamofire 加载 JSON 数据,遍历我所有的 json 对象,并将它们存储到我的数据库中。当一切都完成后,我想更新我的 UI。

更改可能有数百行,所以我想在后台线程上执行此操作。错误使用时:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
var context = appDel.managedObjectContext
do {
tasks = try context.executeFetchRequest(fetchRequest) as! [Tasks]
}
catch {
fatalError("Fetching from the store failed")
}

for task in tasks {
// check something here, or set some new values
}

// save them in background? But how do i know if save is completed?

dispatch_async(dispatch_get_main_queue()) {
// update my UI
}


});

这一切都将在后台运行,还是我需要多个上下文?我会在其他地方读到,当我在线程中加载我的 managedObjectContext 时,整个 Fetch 在后台运行。我如何知道我的上下文何时完成保存,以便刷新我的 UITableView?

提前致谢!

最佳答案

  1. 您应该在 context.performBlock{} 而不是 dispatch_async

    中执行后台代码
  2. 完成后调用 completionHandler(.NewData)

关于ios - 使用 Web 服务获取 CoreData 后台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34701002/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com