Трансформируемый атрибут обновляется в контексте фонового потока, не сохраняется при объединении с контекстом основного потока - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть NSManagedObject, который содержит столбец даты и столбец Transformable (NSDictionary). И столбец даты, и преобразовываемый столбец обновляются в фоновом потоке в своем собственном контексте, а затем объединяются с контекстом основного потока. Хотя столбец даты обновляется и сохраняется должным образом, столбец Transformable - нет. Трансформируемый столбец обновляется следующим образом:

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 
[nc addObserver:self selector:@selector(mergeChanges:) name:NSManagedObjectContextDidSaveNotification object:managedObjectContext];
NSMutableDictionary *newUserDataDictionary = [NSMutableDictionary dictionaryWithDictionary:object.userDataDictionary];            
//Updated newUserDataDictionary here 
object.date = calendarDay.date;
object.userDataDictionary = newUserDataDictionary;
if (![managedObjectContext save:&error]) {
  NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

В слиянии: У меня есть следующее:

- (void)mergeChanges:(NSNotification *)notification
{    
AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
// Merge changes into the main context on the main thread
[delegate.managedObjectContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
                              withObject:notification
                           waitUntilDone:YES];  
}

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 15 ноября 2011

Проблема должна быть в методе mergeChangesFromContextDidSaveNotification.Проверьте, вызывается ли этот метод.Если да, то проблема в этом.

...