Можно ли изменить тип совпадения для управляемого объекта объекта NSPersistentDocument?
Мне нужно, чтобы тип одновременного обращения управляющего объекта объекта NSPersistentDocument был NSMainQueueConcurrencyType, потому что мне нужны контексты в других потоках.
2 ответа
Решение
Да, ты был прав. Переопределив manageObjectContext, вы можете изменить тип параллелизма. Может быть, у меня есть некоторые ошибки.
- (NSManagedObjectContext *)managedObjectContext {
__strong static NSManagedObjectContext *myManagedObjectContext = nil;
if (myManagedObjectContext == nil) {
myManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
[myManagedObjectContext setPersistentStoreCoordinator:psc];
}
return myManagedObjectContext;
}
Документация дляNSPersistentDocument
говорит это о managedObjectContext
имущество:
Если вы хотите настроить создание стека постоянства, переопределите это свойство в своем пользовательском подклассе и используйте свою реализацию для создания соответствующих объектов.
Это кажется довольно ясным. Переопределите это свойство и используйте любой тип параллелизма. Ты это пробовал? Разве это не сработало?