我会简化这一点。我是Core Data的新手,我在想我缺少技术性。所以请裸露我设置核心数据关系重用相同的对象删除以前的关系
我从一个Web服务导入数据,在这样的数据我有一个类树。
例如:
餐厅
- 意大利
- 墨西哥
- 牛排
在我的模型中,我设置了一个名为ParentCategory的关系,它带有一个名为Subcategories的反向关系。目前为止,一切都很好。
现在,当我输入我的类别我做这样的事情:(注:我的代码不会这个样子我已经改变了它举例说明我的问题)
NSEntityDescription *categoryEntity = [NSEntityDescription entityForName:@"Categories" inManagedObjectContext:context];
NSDescription *parentCategory = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context]
//Then I actually set some values for parentCategory.
//Then create the subcategories.
NSDescription *italianDescription = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context];
[italianDescription objectForKey:@"Italian" forKey:@"name"];
//Set the relationship
[italianDescription objectForKey:parentCategory forKey:@"ParentCategory"];
//All this works great but then when
NSEntityDescription *mexicanDescription = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context];
[mexicanDescription objectForKey:@"Mexican" forKey:@"name"];
[mexicanDescription objectForKey:parentCategory forKey:@"ParentCategory"];
好像当最后一行代码运行它将从“italianDescription”中删除关系,因此在保存我的上下文后,它会显示它没有父类别。我从我的Web服务中删除了一些数据,只有最后一个我设置父类别对象X的关系的子类别保留了它。以前的所有将会失去它。
我检查了苹果开发者文档,它并没有真正的帮助。话虽如此,我该如何克服这一点?或者什么是一种有效的方式来与关系进口。
谢谢你的时间。
请添加到您的问题 - 您的类别实体的定义,以及您的实际代码。 – Perception