Friday 15 August 2014

ios - NSManagedObjectContext deleteObject not working after app kill -



ios - NSManagedObjectContext deleteObject not working after app kill -

my app trying download json info , save core data. maintain track of remaining info content download, save them in core info too. when info downloaded in batches of 10, remove downloaded info ids core info object. works fine when goes background. if app killed during info download, resumes when app becomes active. after download, couldn't delete downloaded info ids nsmanagedobjectcontext. have attached code below:

- (void)removeidlistatindexescustomized:(nsindexset *)indexes { nsmutableorderedset *idlistmutable = [self mutableorderedsetvalueforkey:@"idlist"]; [indexes enumerateindexesusingblock:^(nsuinteger idx, bool *stop) { [nsmanagedobjectcontext deleteobject:[idlistmutable objectatindex:idx]];//this programme stops }]; nserror *error; if (![nsmanagedobjectcontext save:&error]) { nslog(@"save failed: %@", [error localizeddescription]); } } -(void)resumesync{ syncdata *syncdata = [syncdata getsyncdata]; //main thread nsinvocationoperation *syncoperation = [[nsinvocationoperation alloc] initwithtarget:self selector:@selector(getevents:) object:syncdata]; [syncqueue addoperation:syncoperation]; } -(void)getevents:(syncdata *)syncdata{ //.... [[datamanager sharedinstance] loadevents:syncdata]; nsindexset *albumindexset = [nsindexset indexsetwithindexesinrange:nsmakerange(0, 15)]; [syncdata removealbumidlistatindexescustomized:albumindexset]; } datamanager.m -(void)loadevents:(syncdata *)data{ eventrequest *eventrequest = [eventrequest new]; eventrequest.albumdata = postdata; eventdataoperation = [[nsinvocationoperation alloc] initwithtarget:self selector:@selector(loadeventrequest:) object:eventrequest]; // add together operation queue , allow executed. [eventoperationqueue addoperation:eventdataoperation]; if ([[eventoperationqueue operations] eventdataoperation]) { [eventdataoperation waituntilfinished]; } }

ios core-data nsindexset

No comments:

Post a Comment