Apple "Concurrency with Core Data" documentation은 백그라운드 스레드와 함께 핵심 데이터를 사용할 때 다음을 설명합니다. 백그라운드 스레드에서코어 데이터 관리 대상 객체 컨텍스트를 백그라운드 스레드에 안전하게 저장하는 올바른 방법은 무엇입니까?
저장 오류가 발생하기 쉬운
비동기 큐와 스레드가 종료 에서 응용 프로그램을 방해하지 않는 것입니다. (특히, 모든 NSThread 기반 스레드 이따 전체에 대한 pthread에 대한 문서 세부 사항 및 프로세스가 모두 분리하지 스레드가 종료 한 때까지만 를 실행 "분리 된"입니다.)
특히 :
백그라운드 스레드에 저장해야하는 경우 주 스레드가 모든 저장 작업이 완료 될 때까지 응용 프로그램이 종료되지 않도록 추가 코드를 작성해야합니다.
IOS 응용 프로그램 내에서 이것을 달성하기위한 권장 방법은 무엇입니까?
+1 "관련 메소드"에는'applicationDidEnterBackground'가 포함되어 있음을 명심하십시오. 앱은 백그라운드로 들어가서 추가 알림없이 일시 중지 및 종료 될 수 있습니다. –
감사. IOS 프레임 워크 내부에서 스레드로 많은 작업을 수행하지 못했지만 일부 예제 코드가 있거나 응용 프로그램 대리자 클래스 내부에서 저장되지 않은 변경 사항에 액세스하여 스레드를 검사하는 방법에 대한 설명서를 알려줄 수 있습니까? . – lucasweb
모두 정말 스레딩을 어떻게 구현 했느냐에 달려 있습니다. 예를 들어,'NSOperationQueue'를 사용한다면,'waitUntilAllOperationsAreFinished'가 유용 할 수 있습니다. – paulbailey