2016-06-19 11 views
2

Xcode를 사용하여 OS X 용 Swift에서 새로운 문서 기반 응용 프로그램을 구축하고 있습니다. 기본 Document 클래스를 Document (이 경우 Notebook)가 아닌 무언가라고 부르길 원합니다. 물론 NSDocument (또는 Core Data를 사용하는 경우 NSPersistentDocument)를 여전히 하위 클래스로 분류 할 수 있습니다. Document.swift에서 Notebook.swift로 이름을 바꿀 수 있지만 실제 클래스를 Document에서 Notebook으로 바꾸면 응용 프로그램을 실행하면 "No document is created"이라는 오류 메시지가 나타납니다. 콘솔에서 "DocumentType 유형이 NSDocumentClass에 매핑되지 않습니다."라고 알려줍니다.신속한 문서 기반 응용 프로그램에서 문서 클래스 이름 바꾸기

문서 구조가 내 이름을 바꾼 후에도 문서 구조를 인식하게하려면 분명히 다른 작업을해야합니다. 근데 뭐? some directions on another site이 발견되었지만 Swift와 storyboards를 사용할 때는 Objective-C와 XIB 용으로 작성되었습니다. 내가해야 할 일은 상당히 다를 것 같다. 스토리 보드를 사용하여 Swift에서 문서 기반 응용 프로그램의 기본 문서 클래스 이름을 바꾸려면 무엇을해야합니까?

편집 : 코드 요청이 아래에있었습니다. 기본적으로, 기본 Document.swift 또는 Notebook.swift 파일

import Cocoa 

class Document: NSDocument { 
... [standard code for Document class goes here, edited out for brevity] 
} 

처럼 보인다 그리고 그것은 상단에있는 버전으로 작업

import Cocoa 

class Notebook: NSDocument { 
[...] 
} 

로 변경하고의 버전과 함께 작동하지 않습니다 바닥.

+0

안녕하세요, 도와 드릴 수있는 코드가 있습니까? – KFDoom

+2

Xcode 프로젝트에서 '문서'(전체 단어, 대소 문자 일치)를 검색하십시오. – Willeke

+0

감사합니다. 다른 사람이 같은 문제가있는 경우에 대비하여 아래에 약간의 세부 정보가 추가됩니다. –

답변

3

"문서"(전체 단어, 대소 문자)를 검색하는 위의 Willeke의 제안을 통해 내가해야 할 일을 찾을 수있었습니다. 기록을 위해 Info.plist에 가서 Document types/Item 0 (Document type)/Cocoa NSDocument Class로 가서 "$ (PRODUCT_MODULE_NAME) .Document"를 "$ (PRODUCT_MODULE_NAME) .Notebook"으로 변경해야했습니다.