gpt4 book ai didi

core-data - 获取后核心数据关系为nil

转载 作者:行者123 更新时间:2023-12-02 21:25:44 24 4
gpt4 key购买 nike

这是 Best practice for temporary entities in core data? 的后续问题。我创建了一个新主题,因为我认为这是一个不同的问题。

当我在子上下文中设置临时实体时,我与商店中已有的实体建立了关系。使用 objectID 跨线程传递实体,不会出现任何错误。我使用断点来验证关系是否正常。

现在,当我到达表显示所有临时对象(使用 NSFetchedResultsController)时,关系为零。临时对象的所有其他属性都已到位,只是关系不同。

所以我肯定在这里遗漏了一些东西。

这是我尝试过的一些代码:

Temp *temp = [NSEntityDescription insertNewObjectForEntityForName: @"Temp" inManagedObjectContext: myImportContext];

NSManagedObjectID *objectID = self.test.objectID;

if (objectID)
{
NSError *error = nil;
Test *t = (Test *)[myImportContext existingObjectWithID:objectID error: &error];

if (error == nil)
[temp addTestObject: t];
}

更新:我忘了补充一点,所有这些都是在后台线程上运行的。

更新2:我找到了问题所在。 Temp 和 Test 之间的关系是一对多,因此每次我向 Temp 添加一个 Test 对象时,都会删除之前的 Temp 和 Test 之间的关系。将关系设置为多对多解决了它。

最佳答案

我发现了问题所在。 Temp 和 Test 之间的关系是一对多,因此每次我向 Temp 添加一个 Test 对象时,都会删除之前的 Temp 和 Test 之间的关系。将关系设置为多对多解决了它。

关于core-data - 获取后核心数据关系为nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429106/

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