iphone核心数据:无法删除具有一对多关系的数据

时间:2011-07-25 09:29:22

标签: iphone

我是核心数据的新手,发现了一个问题。我有两个类A和B,关系一对多(多个B对象可以引用一个A对象)。

A< --->>乙

我想用某些标准执行ManagedObjectContext的Delete查询,但我无法删除。它可能是删除关系规则(Deny,No Action,Nullify和Cascade)的问题,我尝试了它的某种组合。但是我无法删除它们。

这是我要执行的相同代码: -

for (A *value in allDeleteObject)
{
  NSError *error;
  for (B *objB in [value.BDetails allObjects])
  {
    [managedObjectContext deleteObject:objB];
    [value removeGodetailsObject:objB];

    if (![managedObjectContext save:&error])
    {
    NSLog(@"%@",error);
    }
  } 
}

请告诉我,如果我做错了什么。提前致谢!!

1 个答案:

答案 0 :(得分:0)

for (A *value in allDeleteObject)
{
  NSError *error;
  NSArray *array = [value.BDetails allObjects];
  for (B *objB in array)
  {
    [managedObjectContext deleteObject:objB];
    [value removeGodetailsObject:objB];

    if (![managedObjectContext save:&error])
    {
    NSLog(@"%@",error);
    }
  } 
}

并在A处使用级联删除规则,在B处使用null。

模特的屏幕截图: -

enter image description here