NSOperationQueue
을 사용하여 CoreData 작업을 전달하려고합니다. 그러나 작업 대기열 동작이 항상 동일하지는 않습니다 (예 : 스레드 풀을 사용하는 iOS 4.0/OS 10.6에서 libdispatch
을 사용하여 발송). 대기열이 항상 동일한 스레드 (예 : NSManagedObjectContext
필요)를 사용하지는 않습니다.NSOperationQueue 지정된 스레드
NSOperationQueue
을 단일 스레드에서 강제로 실행할 수 있습니까? 아니면 간단한 큐잉 메커니즘을 만들어야합니까?
당신은 알 필요하지 않을 수도 있습니다 당신의 작업이 어떤 스레드에서 실행되고 있는지. 문맥을 잠그고 ('- [context lock]'을 사용하여) 일단 완료되면 잠금을 해제 할 수 있습니다. 잠긴 블록에서 Core Data 속성에 액세스하지 않도록주의하십시오. 컨텍스트 동기화가 필요하지 않도록 최대 동시 작업을 1로 설정하는 것을 잊지 마십시오. – cdelacroix