0

在核心数据中,当删除实体的对象时,所有关系对象也会被删除,还有另一个实体详细信息具有一对多关系。我需要删除它的对象还是下面的代码来处理它?到目前为止我的代码:

 NSFetchRequest * allClients = [[NSFetchRequest alloc] init];
[allClients setEntity:[NSEntityDescription entityForName:@"Client" inManagedObjectContext:[NSManagedObjectContext defaultContext]]];
[allClients setIncludesPropertyValues:NO]; //only fetch the managedObjectID

NSError * error = nil;
NSArray * clients = [[NSManagedObjectContext defaultContext] executeFetchRequest:allClients error:&error];
//error handling goes here
for (NSManagedObject * client in clients) {
    [[NSManagedObjectContext defaultContext] deleteObject:client];
}

NSError *saveError = nil;
[[NSManagedObjectContext defaultContext] save:&saveError];
//more error handling here
4

1 回答 1

0

这取决于您配置了哪些设置。对于每个关系,您可以将其设置为:

  1. 没做什么
  2. 级联(也删除其他项目)
  3. 无效化
  4. 拒绝(不允许删除)

您可以为模型中的每个关系(以及每个关系的两端)指定此项。

于 2013-07-05T13:13:23.553 回答