是否可以删除和阅读关系?
我不能在这里发布代码,因为它是一个包含非常复杂过程的巨大项目。
假设我有tableA< - >> tableB的 tableB得到更新(即,将删除tableB对象并添加新的obejcts(re))。我检查tableA中的对象是否与tableB有关系,我已经在一个具有服务器对象id的数组中。我现在读取tableB中的数据并读取关系。这种关系出现故障,无法访问。添加或删除对象后,我保存它。我做错了什么?
答案 0 :(得分:0)
我觉得我在这里误解了你的意图,但我会试一试并根据需要进行修改。首先,所有实体都应以大写字母开头,因此我将使用TableA
和TableB
作为我的实体。此外,TableA
和TableB
是coredata实体的可怕名称。它们是非常通用的,如果你决定在表外使用它们,它可能真的会混淆你的代码。特别是因为它是一个“非常复杂的过程的巨大项目。”
这实质上是我相信你所寻求的:
// defined elsewhere
NSManagedObjectContext *managedObjectContext;
// saving the the object that you want to connect to later
TableA *relationshipToA = self.AllTableBs.tableARelationship;
// remove all TableB objects from coredata as you are already doing
// ...
// // //
// insert new TableB objects setting their tableARelationship to relationshipToA
// ...
// //
// single example
TableB *bObject = [NSEntityDescription insertNewObjectForEntityForName:@"TableB" inManagedObjectContext:managedObjectContext];
bObject.tableARelationship = relationshipToA;
// save context
然后,当您尝试访问与TableA的对象关系时,它是有效的,反之亦然。
答案 1 :(得分:0)
当对象插入tableA时导致问题。关系对象来自不同的上下文。虽然我有合并政策NSMergeByPropertyStoreTrumpMergePolicy
,但对象仍有无法解决的问题。我更改了代码,以便两个对象都在相同的上下文中。它解决了这个问题。