2011-07-25 16 views
0

私はコアデータが新しく、1つの問題が見つかりました。私は1対多の関係を持つ2つのクラスAとBを持っています(複数のBオブジェクトは1つのAオブジェクトを参照できます)。iphone core data:1対多のリレーションシップを持つデータを削除できません

< --- >> B

私はいくつかの特定の条件でManagedObjectContextの削除クエリを実行したいが、私は削除することができません。リレーションシップルールの削除(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
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.

スクリーンショットを無効に使用します。 -

enter image description here

+0

私はこのルールを試してみましたが、その動作していません。 – vivekbhutra

+0

あなたは私が変更したコードを試しましたが、どのような問題が発生しているのでしょうか。 – Robin

+0

私もこの変更をしました...私の問題は、オブジェクトとその関係を削除できません。印刷エラーの記述でも、私はクラスオブジェクトを記述として取得します。 – vivekbhutra

関連する問題