2013-12-09 44 views
0

我在嘗試從核心數據中刪除對象時出現錯誤「NSManagedObjectContext無法刪除其他上下文中的對象」。 我使用下面的代碼在負載之後的正常核心數據取出如何從核心數據和表視圖中刪除行

NSFetchedResultsController *controller = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:appDelegate.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; 
    controller.delegate=self; 
    BOOL success = [controller performFetch:&error]; 


    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
    NSManagedObject *managedObject = [controller objectAtIndexPath:indexPath]; 
    //(Alert view) 
    } 

在警報視圖clickedButtonAtIndex功能,我試圖刪除從appDelegate.managedObjectContext該特定管理對象,而是一個錯誤「的的NSManagedObjectContext不能刪除在其他上下文對象」發生在線路

[appDelegate.managedObjectContext deleteObject:managedObject]; 

我試圖與其他管理對象的上下文,

NSManagedObjectContext *context= [controller managedObjectContext]; 

但得到相同的錯誤。 任何人都可以請告訴爲什麼會出現此錯誤,並從表視圖和核心數據中刪除特定行的解決方案?

+0

?正如錯誤所述,您不能刪除其他上下文中的對象。 – duci9y

回答

0

使用相同的NSManagedContext刪除它用於獲取對象,並在同一個線程中也。

+0

我嘗試了相同的NSManagedContext,即appDelegate.managedObjectContext來獲取數據和刪除,但沒有用。 –

+0

交叉檢查'appDelegate.managedObjectContext'沒有被覆蓋! –

1

您正在使用不同的上下文中的一個對象是從(完全錯誤說什麼),改變managedObjectContext`是否使用的是`存儲對象刪除線

[managedObject.managedObjectContext deleteObject:managedObject]; 
+0

我試圖用[managedObject.managedObjectContext deleteObject:managedObject];但得到錯誤[NSKnownKeysDictionary1 managedObjectContext]:無法識別的選擇發送到實例0xfe7e830 –

+0

多數民衆贊成在不同的問題,請看這裏:http://stackoverflow.com/questions/9835676/ IOS-coredata-異常時,更新數據 – wattson12

相關問題