내 응용 프로그램은 웹 서비스에 연결하고 3 가지 방법으로 POST를 수행하며 각각의 3 가지 데이터 세트를 코어 데이터에 삽입합니다. 새로운 데이터가있을 때마다 핵심 데이터의 모든 것이 삭제되고 새로운 데이터가 삽입됩니다. 이 3 가지 방법은 각각 TableViewControllers
에 표시되며, 이는 TableViewControllers
이 표시 될 때마다 3 회 이상 가져 오기를 의미합니다.코어 데이터 삭제, 삽입 및 가져 오기를 수행하는 올바른 스레드
우리는 웹 서비스에서 가져온 데이터 3 세트를 가져온 다음이 데이터를 모두 다른 엔터티에 삽입하여 새로운 데이터를 가져 와서 TableViewController
메인에 표시합니다.
이제 스레드와 멀티 컨텍스트 코어 데이터 구조의 복잡한 관계로 고민하고 있습니다. 내 응용 프로그램의 스레드 안전성을 보장하기 위해 어디에서 삽입, 삭제 및 가져 오기를 수행해야합니까?
얼마나 많은 데이터가 있습니까? 현재 어떤 문맥과 스레드가 있습니까? – Wain
@Wain 데이터가 비교적 작습니다. 각 엔티티에 약 1,000 개의 레코드가 있습니다. NSURLSession은 주 스레드에서 완료 처리기로 작업하고 있습니다. 그런 다음 삭제 (메인 스레드 NSMainQueueConcurrencyType에서 수행됨) 및 삽입 (메인 스레드/NSPrivateQueueConcurrencyType) 메소드를 호출합니다. 그런 다음 주 스레드 및 주 컨텍스트에서 가져 오기를 수행합니다. – user3687