我有一个NSManagedObject子类,它有一些深层关系。这里受影响的关系如下(例如):
order.subOrders
suborder.items
因此,一个订单有多个子订单(to-many),一个子订单有多个商品(to-many)。
假设我的订单有3个子订单,每个子订单有3个项目。我需要在大约相同的时间从每个子订单中删除一个项目。
所以,我尝试了以下内容:
for(Item *item in itemsToBeDeleted) {
[context deleteObject:item];
}
[context save:&error];
然后我重新运行应用程序,似乎只删除了其中一项。因此,我删除了剩余的2个项目(使用相同的方法)并重新运行应用程序,但同样只删除了一个。
任何人都可以指出我正确的方向吗?
答案 0 :(得分:1)
我的猜测是你只在Item
集合中放了一个itemsToBeDeleted
对象。您可以发布显示该集合如何填充的代码吗?
答案 1 :(得分:0)
如果打开核心数据模型对象的右侧面板,则会有实体的删除规则。如果将最顶层权限的删除规则设置为“级联”,则删除将沿关系向下传播。