2011-07-25 57 views
0

我是核心數據新手,發現一個問題。我有兩個類A和B,關係一對多(多個B對象可以引用一個A對象)。iphone核心數據:無法刪除具有一對多關係的數據

一個< --- >> B

我想與某些特定的標準來執行ManagedObjectContext的DELETE查詢,但我無法刪除。這可能是刪除關係規則(拒絕,無行爲,無效和級聯)的問題,我嘗試了一定的組合。但我無法刪除它們。

這裏是我的意思是,執行相同的代碼: -

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); 
    } 
    } 
} 

,並使用在級聯刪除規則並註銷模型在B.

屏幕截圖: -

enter image description here

+0

我想這條規則,但它不工作。 – vivekbhutra

+0

您是否嘗試過我更改的代碼,並且順便問一下您遇到了哪些問題。 – Robin

+0

雅我也做了這個改變......我的問題是我無法刪除對象及其關係。即使在打印錯誤描述中,我也只能得到類對象的描述。 – vivekbhutra