UIDocument 클래스 - 문서와 내용을 쉽게 생성하고 관리하기 위한 방법 제공
추상클래스이므로 UIDocument의 서브클래스를 만들고 최소한 다음 두 가지의 메소드를 오버라이 드 해야한다.
- contentsForType:error - 데이터가 파일이나 문서로 쓰여질 때 UIDocument 서브클래스에 의해 호출된다. 이 메서드는 쓰여질 데이터를 수집하고 NSData나 NSFileWrapper 오브젝트로 리턴하는 것을 담당한다.
- loadFromContents:ofType:error - 데이터가 파일이나 문서로부터 읽혀질 때 서브클래스에 의해 호출된다. 이 메서드는 UIDocument 서브클래스에 의해 파일로부터 읽혀진 내용을 전달받아 애플리케이션의 데이터 모델에 로드하는 것을 담당한다.
UIDocument 서브클래스 오브젝트의 현재 상태는 오브젝트의 documentState 속성을 통해 알 수 있다.
- UIDocumentStateNormal - 문서가 오픈되었고 사용자는 편집 할 수 있다.
- UIDocumentStateClosed - 문서는 현재 닫혀 있다. 문서를 읽는 도중 에러가 발생한 경우도 해당된다.
- UIDocumentStateInConflict - 문서에 대해 충돌이 감지되었다.
- UIDocumentStateSavingError - 문서를 저장하려 할 때 에러가 발생하였다.
- UIDocumentStateEditingDisabled - 문서가 busy 상태이며, 편집하기에 안전하지 않다.
옵저버에 UIDocumentStateChangedNotification 노티피케이션을 등록함으로써 처리 가능