0

我正在我的 iphone 应用程序中实现核心数据。它有两个实体。实体 1:LatestData 实体 2:LatestDetailedData

LatestData 有 URL、publishedDate、标题LatestDetailedData 有 URL、NewsDescription、PublishedDate、Author

两个实体具有相同的记录 URL。两个实体都以反向关系连接。并且关系是“删除->级联”

我想要什么:如果我删除了最新数据中的记录,我希望最新详细数据中具有相同 URL 的记录也必须被删除。

如何?

4

2 回答 2

1

如果我对您的理解正确,那么您正在使用一种关系并且它具有相反的关系。如果是这种情况,那么当您删除一个时,Core Data 会自动删除另一个,您不需要做任何额外的事情。

你看到什么表明这没有发生?

更新

由于您使用多个线程,您是否NSManagedObjectContext每个线程使用一个?如果是这样,您是否在保存时更新所有线程?我怀疑这两个中的一个没有发生,因此导致了您的问题。

于 2010-05-11T18:40:13.137 回答
0

当您创建实体时,您也需要创建关系

LatestDetailedData * entity2 = [[NSEntityDescription insertNewObjectForEntityForName:@"LatestDetailedData" inManagedObjectContext:context]; 
entity1.lastestdetail=entity2;

如果您只是依赖 URL 字段,那么这是不好的做法。在 coredata 中设置关系,级联删除将自行处理。

于 2010-05-11T11:26:52.893 回答