여러 스레드에서 하나의 MOC를 사용하여 모든 결과가 발생했습니다. MOC가 주 스레드에서 만들어지기 때문에 무작위로 응용 프로그램이 중단되고 다른 스레드. 코드가 글로벌 싱글 톤을 사용하여 동기화 (@ 동기화)해도 응용 프로그램이 충돌합니다. 각 스레드마다 별도의 MOC를 사용하면 문제가 없지만 스레드간에 NSManagedObjects를 공유하는 것은 좋지 않은 접근이라고 생각합니다.핵심 데이터 - 여러 스레드 중 NSManagedObjects 공유
내 사용 사례는 다음과 같습니다. 1) 서버에서 XML을로드하고 구문 분석하고 구문 분석하는 동안 데이터베이스에 각각 새로운 NSManagedObject를 삽입합니다. 이 모든 것은 별도의 스레드에서 발생합니다. 2) 주 스레드에서 사용자는 데이터베이스에서 데이터를 읽는 UI와 상호 작용합니다.
두 스레드에서 NSManagedObjects를 사용합니다. 이 문제를 어떻게 해결할 수 있겠습니까? 이미 여러 번 실패했습니다.
대부분의 경우 응용 프로그램에서 오류가 발생하여 컬렉션을 수정하면서 코드가 동기화되는 동안 컬렉션이 수정되는 동안 코드가 동기화되는 동안 컬렉션이 수정되고 반복되는 동안 수정되지 않으며 반대의 경우도 발생합니다. 수정하는 동안 ' 반복하고 내가 끝나면 구해줍니다.