2012-09-06 8 views
1

코어 데이터 문서 기반 응용 프로그램에서 비동기 저장을 구현해야합니다. 내 NSDocument 하위 클래스는 과 같이 NSManagedObjectContext 쌍의 인스턴스 (배경 저장을위한 상위 컨텍스트가있는 주 스레드 용 인스턴스)와 마찬가지로 패턴이 지정됩니다.UIManagedDocument를 OS X에 가져 오시겠습니까?

문제는 그 I 문서, 앱이 항상 프롬프트를 표시 할 때마다 :

문서 ... 저장할 수 없습니다입니다. 파일이 다른 응용 프로그램에 의해 변경되었습니다.

구현에서 누락 된 부분이 있습니까? 내가 저장할 때마다 위의 대화 상자를 사라지게하려면 어떻게해야합니까?

이 요점 내 NSDocument 서브 클래스를 찾을 수 있습니다 : 분명히 UIManagedDocument의 기능을 복제 https://gist.github.com/3652120

+1

NSPersistentDocument에 대해 알고 계신지 확인해 주시겠습니까? – hooleyhoop

+0

@hooleyhoop 네,'NSPersistentDocument'에 대해 알고 있습니다. 비동기 저장 및 파일 패키지를 지원하지 않습니다. – adib

답변

1

너무 열심히하지 않습니다. 주의해야 할 점은 주 스레드의 컨텍스트가 저장 될 때마다 NSDocument의 파일 날짜 개념이 업데이트되는지 확인하는 것입니다. 두 번째 경고는 주 스레드 관리 객체 컨텍스트의 실행 취소 관리자를 사용하는 것입니다.

이 작업을 수행하는 방법에 대한 정보는 Bringing Asynchronous Core Data documents to OS X을 참조하고 서브 샘플 코드는 NSDocument 샘플 코드를 참조하십시오.