gpt4 book ai didi

swift - 在 CoreData 的后台线程中创建实体

转载 作者:行者123 更新时间:2023-11-28 06:30:55 27 4
gpt4 key购买 nike

我正在使用 MagicalRecord 并尝试在后台线程中创建一个实体,然后在主线程中使用它。这是我的代码:

var localRecipe: Recipe?
MagicalRecord.save({ (localContext : NSManagedObjectContext!) in
localRecipe = Recipe.createEntity()
localRecipe?.name = "HiHi"

}, completion: { (success : Bool, error : Error?) in

print(localRecipe?.name)
let recipe = localRecipe?.mr_(in: NSManagedObjectContext.mr_default())
print(recipe?.name)
})

当我尝试在主上下文中检索 localRecipe 时,持久存储中不存在该对象。我在这里做错了什么?

最佳答案

我相信 Recipe.createEntity() 正在默认上下文中创建 Recipe

您应该使用 block 中提​​供的 localContext 来创建您的 Recipe 实体。例如:localRecipe = Recipe.createEntityInContext(localContext)

然后当 localContext 被保存时,它应该被合并到主上下文中,NSManagedObjectContext.mr_default()

关于swift - 在 CoreData 的后台线程中创建实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372179/

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