iphone - nsfetchresultcontroller returns rows after delete -
i'm using parent/child context core data. objects added in background thread , context. works fine. objects deleted in background context , saved on child/parent. can see in core data debug objects deleted , commit successfully. after i'm telling nsfetchresultcontroller(setting nil , reinitializing , deleting cache) fetch objects. objects still there, eventhough objects deleted.
coredata: sql: commit coredata: sql: begin exclusive coredata: sql: insert ztlog(z_pk, z_ent, z_opt, zfxy, zfxyz) values(?, ?, ?, ?, ?) coredata: sql: commit
delete
coredata: sql: begin exclusive coredata: sql: delete ztlog z_pk = ? , z_opt = ? coredata: sql: commit
nsfetchresultcontroller
coredata: annotation: fetch using nssqlitestatement <0x68a2760> on entity 'tlog' sql text 'select 0, t0.z_pk, t0.z_opt, t0.zxy, t0.zxyz t0.z_pk = ? ' returned 0 rows coredata: annotation: total fetch execution time: 0.0080s 0 rows. coredata: annotation: fault fulfilled database : 0x687ab40 <x-coredata://bca24d29-f9d3-4068-8122-e7a43c116d8a/tlog/p2>
so table view has still object though set fetchcontroller & delegate nil , did re init. still fetchresult controller fetchedobjects has object deleted. last log line looks suspicious. deleted objects. why fulfills fault?
anyone idea?
once again threading problem. core data objects not thread safe!
Comments
Post a Comment