我正在我的iphone应用中实现核心数据。它有两个实体。 实体1:LatestData 实体2:LatestDetailedData
LatestData具有URL,publishedDate,heading LatestDetailedData具有URL,NewsDescription,PublishedDate,作者
两个实体都有相同的记录网址。 两个实体都用反向关系连接。关系船是“delete-> Cascaded”
我想要的:如果我删除了LatestData中的记录,我希望还必须删除在LatestDetailedData中具有相同URL的记录。
如何?
答案 0 :(得分:1)
如果我正确地理解你,你正在使用一种关系而且它有一个反转。如果是这种情况,那么当你删除一个时,Core Data会自动删除另一个,你不需要做任何额外的事情。
你看到的是什么表明没有发生?
由于您使用的是多个线程,因此每个线程使用一个NSManagedObjectContext
吗?如果是这样,您是否在保存时更新所有线程?我怀疑其中一个没有发生,因此导致你的问题。
答案 1 :(得分:0)
当您创建实体时,您也需要创建关系
LatestDetailedData * entity2 = [[NSEntityDescription insertNewObjectForEntityForName:@"LatestDetailedData" inManagedObjectContext:context];
entity1.lastestdetail=entity2;
如果您只是依赖于URL字段,那就是不好的做法。在coredata中建立关系,级联删除将自行处理。