나는 거의 모든 경우에 plist 파일에 구문 상 문제가 없다는 것을 확신합니다. plist 데이터를로드하고 저장하기위한 Apple의 기능은 많은 관심과 사용을받습니다. 지금까지 거의 모든 버그가 발견되어 수정되었습니다.
(plists는 드래그 앤 드롭 및 클립 보드, 앱 실행을위한 샌드 박스 권한, 모든 앱의 사용자 인터페이스 및 Finder에 표시 할 아이콘과 같은 모든 종류의 작업에 사용됩니다. plist-writing 코드에 버그가 있었는데, 방금 일부 앱의 환경 설정 파일을 망쳐 놓았지만 다른 것들은 아닙니다!)
앱의 환경 설정 파일 (plist)은 단순히 메모리 내 일부 데이터 구조를 디스크에 저장합니다. 따라서 앱에 무언가 잘못 설정되는 버그가 있으면 저장됩니다.
앱이 오작동하기 시작하면 앱을 종료하고 다시 시작할 수 있습니다. 이로 인해 많은 부분이 재설정되고 문제가 해결 될 수 있습니다. 환경 설정 파일은 디스크에서 다시로드되므로 응용 프로그램의 영향을받는 부분이 지속적 환경 설정으로 저장된 경우 앱을 다시 시작해도 아무런 영향이 없습니다. 잘못된 값은 다시로드됩니다. 환경 설정 파일을 삭제하면 도움이 될 수 있습니다. 앱을 다시 시작하는 것과 같지만 저장 한 것입니다.
프로그래머가 앱의 데이터가 정확하다고 가정하기 때문에 이런 일이 발생할 수 있습니다. 사용자가 표준 색상환 컨트롤을 클릭해야만 색상을 선택할 수 있다면 사용하기 전에 색상이 올바른지 확인하기 위해 추가 작업을 수행하지 않을 수 있습니다. (비교, 사파리와 같은 응용 프로그램은 수행 톤 때문에로드 및 실행 파일 바로 인터넷으로 모든 것을 확인하는 추가 작업을.)
단점은 거의 항상 정확하며 내부 값이 정확하다고 가정하면 훨씬 쉽습니다. 단점은 사용자가 완전히 예기치 않은 일을 한 것처럼 나쁜 값이 몰래 빠져 나가면 모든 것이 재설정 될 때까지 문제가 발생할 수 있다는 것입니다.
-writeToFile:atomically:YES
( "데이터는 백업 파일에 기록 된 다음 오류가 없다고 가정하면 백업 파일 이름이 지정된 이름으로 바" "). POSIXrename()
기능은 파일이 "작업 도중에 시스템이 충돌하더라도"파일이 존재하도록 보장합니다.