2013-07-23 52 views
1

我正在使用父/子上下文的核心數據。對象被添加到後臺線程和上下文中。這工作正常。對象也會在後臺上下文中刪除並保存在子/父級上。我可以看到在覈心數據調試中,對象被刪除併成功提交。之後,我告訴nsfetchresultcontroller(設置爲零,重新初始化和刪除緩存)來獲取對象。即使對象被刪除,對象仍然存在。nsfetchresultcontroller刪除後返回行

CoreData: sql: COMMIT 
CoreData: sql: BEGIN EXCLUSIVE 
CoreData: sql: INSERT INTO ZTLOG(Z_PK, Z_ENT, Z_OPT, ZFXY, ZFXYZ) VALUES(?, ?, ?, ?, ?) 
CoreData: sql: COMMIT 

刪除

CoreData: sql: BEGIN EXCLUSIVE 
CoreData: sql: DELETE FROM ZTLOG WHERE Z_PK = ? AND Z_OPT = ? 
CoreData: sql: COMMIT 

nsfetchresultcontroller

CoreData: annotation: fetch using NSSQLiteStatement <0x68a2760> on entity 'TLog' with sql text 'SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZXY, t0.ZXYZ WHERE t0.Z_PK = ? ' returned 0 rows 
CoreData: annotation: total fetch execution time: 0.0080s for 0 rows. 
CoreData: annotation: fault fulfilled from database for : 0x687ab40 <x-coredata://BCA24D29-F9D3-4068-8122-E7A43C116D8A/TLog/p2> 

所以表視圖仍具有對象即使我設置fetchcontroller &代表到零,並重新初始化。但仍然fetchresult控制器fetchedobjects刪除了該對象。 最後一個日誌行看起來很可疑。我刪除了所有對象。爲什麼它履行了過錯?

任何人的任何想法?

回答

0

再一次是線程問題。核心數據對象不是線程安全的!