親が保存していても、異なるスレッドMagicalRecord
のその他のキャッシュが判明し、それらの子は更新されませんでした。MOCs
MOCs
MOC
したがって、
NSManagedObjectContext
(MagicalThreading)でこれを変更します:
NSMutableDictionary *threadDict = [[NSThread currentThread] threadDictionary];
NSManagedObjectContext *threadContext = [threadDict objectForKey:kMagicalRecordManagedObjectContextKey];
if (threadContext == nil)
{
threadContext = [self MR_contextWithParent:[NSManagedObjectContext MR_defaultContext]];
[threadDict setObject:threadContext forKey:kMagicalRecordManagedObjectContextKey];
}
return threadContext;
これに:
NSMutableDictionary *threadDict = [[NSThread currentThread] threadDictionary];
NSManagedObjectContext *threadContext = [threadDict objectForKey:kMagicalRecordManagedObjectContextKey];
threadContext = [self MR_contextWithParent:[NSManagedObjectContext MR_defaultContext]];
[threadDict setObject:threadContext forKey:kMagicalRecordManagedObjectContextKey];
return threadContext;
子コンテキストが更新されない理由については、私にはわかりません。しかし、それを行うと、すべてが再び機能しました。