2012-02-23 73 views
1
CustomManagedObject *newObject = (CustomManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:@"Substation" inManagedObjectContext:[[DatabaseHelper instance] context]]; 

我使用上面一行創建一個新對象。但有時我不想將該對象保存到永久數據存儲中,我只是想從上下文中刪除它。有沒有類似removeObject的方法:object fromContext:context?iPhone核心數據 - 如何從上下文中刪除NSManagedObject?

回答

1

您是否檢查過文檔?該方法被稱爲deleteObject

[[[DatabaseHelper instance] context] deleteObject:newObject]; 
+0

'指定應從其持久性存儲更改時committed.'他想從上下文中刪除對象被刪除的對象,而不是將其標記爲刪除。這就是'deleteObject:'的作用 – 2014-06-25 17:18:34

+0

@itsthejb您錯過了以下段落:「如果對象尚未保存到持久性存儲中,則僅從接收器中刪除該對象。」 – 2014-06-26 09:21:37

+0

好的,是的。在這個用例中,我仍然建議使用臨時的「scratch」上下文。在主要上下文中創建對象的問題是,除非您可以仔細平衡創建對象並將其刪除,否則它們將被保存到商店中。不幸的是,'NSMOC'沒有任何* prune *特性 – 2014-06-26 09:23:22