2009-02-28 1 views
2

나는 "Document"라는 용어가 objective-C와 코코아에서 어떻게 사용되는지 이해하지 못합니다. 신청서를 작성할 때 왜 "문서"가 있습니까? 그건 내 말이 맞지 않아. 이미지 편집기와 같은 응용 프로그램을 가질 수 있는데, 동시에 100 개의 이미지를 열 수 있습니다. 그래서 모든 이미지는 문서이고 자체 Nib 파일을 가지고 있습니까? 누군가가 그 용어를 인간적으로 이해할 수있는 방식으로 설명 할 수 있습니까? 베스트는 많은 예제가 될 것이라고 생각합니다.문서 및 Nib 파일 : 사과는 "문서"로 무엇을 의미합니까?

답변

4

:

Q18은 이유는 문서의 서브 클래스를할까요?

a18 개체를 관리해야하는 중앙 데이터 모델이 있기 때문에.

더 자세히 말하면 항상 Document == File이라고 생각하지 마십시오. 대부분의 Mac 응용 프로그램에서 개념적 문서는 실제로 디스크의 단일 파일에 매핑 될 수 있지만 종종 중심 객체이기도합니다 (클래식 MVC 디자인의 모델).

데이터베이스를 사용하는 경우 문서가 데이터베이스 연결을 관리하고 해당 연결을 유지하는 파일로 저장 될 수도 있습니다.

사진 라이브러리의 경우 문서가 단수이거나 일부 설정 만 포함되어 있거나 사진이 표시되는 다른 레이아웃과 필터에 해당하는 여러 개의 문서가있을 수 있습니다.

그런 식으로 가고 싶다면 하나 이상의 문서 또는 수백 개의 문서를 열 수 없습니다. 문서는보기에 데이터를 제공하는 방식이며 원하는 경우 수백 개의 인스턴스를 포함 할 수 있습니다.

1

Xcode 템플릿의 관점에서 문서 기반은 기본적으로 NSDocument 하위 클래스를 의미합니다. NSDocument와 NSDocumentController는 여러 문서를 더 쉽게 지원할 수있는 추상화 기능을 제공합니다.

당신이 맞습니다, 당신은 NSDocument 없이도 손으로 코딩 할 수 있습니다. 그러나 NSDocument 그것을 조금 더 쉽게 않습니다. 내 ancient but still mostly relevant Cocoa NSFAQ (그리 FAQ)에서

+0

좋아요, 모든 Nib 파일은 한 가지 유형의 "문서"(즉, 워드 문서, 편집 할 이미지 또는 새 계산기 인스턴스) 용으로 만들어 졌습니까? – Thanks

+0

정확하지 않습니다. 각 펜촉은 관련 사용자 인터페이스 기능 그룹을 나타냅니다. 그것이 "문서"를 의미하는지 여부를 결정하는 것은 당신에게 달려 있습니다 :) – NilObject

+0

닙은 객체의 아카이브입니다. 일반적으로 NilObject가 말하듯이 이러한 객체는 일부 NSController (사용자 인터페이스)와 함께보기 및/또는 창입니다. 따라서 사용자 인터페이스가있는 컨트롤러 객체 (Apple이 "모델 컨트롤러"라고 부르는 문서 포함)는 펜촉에서 해당 사용자 인터페이스를로드 할 수 있습니다. –

관련 문제