NSPersistentDocument 및 Core Data를 사용하여 응용 프로그램의 사용자 지정 파일 유형 (XML로 저장 됨)을 처리하는 OS X 응용 프로그램이 있습니다.업데이트 된 Core Data 모델이있는 앱에서 파일을 열면 변경됩니다.
코어 데이터 모델을 업데이트 할 때 간단한 모델을 업데이트 할 때 (가벼운 마이그레이션에 의지 함) 을 열면 새로운 모델을 사용하는 응용 프로그램의 파일이 디스크의 파일을 변경합니다. 원래 파일의 백업 버전도 디스크에 나타납니다 (파일 이름에 '~'가 붙음). 일단 이런 일이 발생하면 이전 (출시 된) 버전의 앱이 파일을 열 수 없습니다.
분명히 말하면 : 파일을 열면됩니다. 파일을 디스크에 다시 저장하지 않습니다. Finder에서 볼 수 있으며 파일을 열 자마자 '~'이 표시됩니다.
이것은 매우 위험한 행동입니다. 나는 매우 신중해야하며 도은 사용자베이스에서 현재 사용중인 파일을 열지 않습니다. 그렇게하면 즉시 액세스 할 수 없기 때문입니다.
기본 OS X의 기본 동작입니까? 파일을 열면 내부적으로 앱으로 변경되지만 NSPersistentDocument 또는 Core Data 모델을 구성하여 명시 적으로 저장하지 않으면 변경 사항이 디스크로 다시 전파되지 않도록 할 수 있습니까?