0

コア データでは、エンティティのオブジェクトを削除すると、すべての関係オブジェクトも削除されますか? 1 対多の関係を持つ別のエンティティの詳細があります。そのオブジェクトを削除する必要がありますか、それとも次のコードで処理されますか? これまでの私のコード:

 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 に答える