i have issue use coredata + icloud sync.
sometimes, notification, nspersistentstoredidimportubiquitouscontentchangesnotification, returns empty array in inserted, updated , deleted.
if notification called when have changes, why return empty notification?
thanks!!!
code calls notification:
- (void)persistentstoredidchange:(nsnotification*)notification { dlog(@"change detected! notification: %@", notification.description) [__managedobjectcontext performblockandwait:^(void) { [__managedobjectcontext mergechangesfromcontextdidsavenotification:notification]; for(id<coredatadelegate>delegate in _delegates) { if([delegate respondstoselector:@selector(persistentstoredidchange)]) [delegate persistentstoredidchange]; } }]; }
it sometimes. it's pretty minor issue compared many severe problems of icloud core data.
what when receiving notification check inserted, updated, , deleted objects first, , don't go ahead merge process unless find something. like
nsdictionary *userinfo = [notification userinfo]; if (([userinfo objectforkey:nsinsertedobjectskey] > 0) || ([userinfo objectforkey:nsupdatedobjectskey] > 0) || ([userinfo objectforkey:nsdeletedobjectskey] > 0)) { // merge... }
Comments
Post a Comment