我是核心数据的新手,发现了一个问题。我有两个类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);
}
}
}
请告诉我,如果我做错了什么。提前致谢!!
答案 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。
模特的屏幕截图: -