После NSManagedObjectContext
с параллелизмом типа NSPrivateQueueConcurrencyType
могут PromiseKit быть использованы для приукрашивать performBlock:^{}
/performBlockAndWait:^{}
?IOS, PromiseKit и CoreData NSManagedObjectContext
Моя первая мысль была написать так:
- (PMKPromise *)updateModel:(Model *)model
{
return [PMKPromise new:^(PMKPromiseFulfiller fulfill, PMKPromiseRejecter reject) {
[_managedContenxtModel performBlock:^{
//...
fulfill(...)
}];
}];
}
, но, боюсь, что поскольку блок обещание будет зарегистрирован в DISPATCH_QUEUE_CONCURRENT
и если несколько вызовов updateModel:
из разных потоков, сделаны он не может гарантировать, что блоки от performBlock
зарегистрированы в правильном порядке.
Есть ли изменения, которые могут произойти?
А вместо того, чтобы использовать performBlockAndWait:^{}
?