1
다중 스레드에서 NSManagedObjectContext를 사용하고 있습니다. NSFetchedResultController performFetch를 호출하기 전에 잠금을 요청하는지 궁금합니다.NSFetchedResultController perform perform thread safe?
내가 할까요이
[moc lock];
NSError *error = nil;
if (![fetchedResultsController_ performFetch:&error]) {
//TODO: add fetch error handler
}
[moc unlock];
아니면 fetchedResultsController
가 여러 스레드에서 공유하는 경우 단지
NSError *error = nil;
if (![fetchedResultsController_ performFetch:&error]) {
//TODO: add fetch error handler
}
fetchedResultsController를 공유하지 않지만 NSManagedObjectedContext를 공유합니다. NSManagedObjectContext를 잠글 필요가 있다는 것을 의미합니까? – Slavik
예. 관리 대상 객체 컨텍스트가 공유 된 경우 컨텍스트와 상호 작용할 때나 IT에서 파생 된 모든 객체가있을 때마다 컨텍스트를 잠글 수 있습니다. 그렇지 않으면 해당 관리 객체에 대한 변경 사항이 올바르게 저장되지 않을 수 있습니다. –
알겠습니다. 고맙습니다. – Slavik