2016-06-19 67 views
2

我正在使用Xcode在Swift for OS X中構建一個新的基於文檔的應用程序。我希望默認的Document類被稱爲不是Document的東西(在這種情況下爲Notebook),當然它仍然繼承NSDocument(或者如果我使用核心數據,則爲NSPersistentDocument)。我可以將其文件從Document.swift重命名爲Notebook.swift,但是一旦我將實際的類從Document重命名爲Notebook,運行該應用程序將彈出錯誤警報「No document could be created。」。控制檯告訴我「DocumentType類型不映射到任何NSDocumentClass。」在Swift基於文檔的應用程序中重命名文檔類

所以,顯然我必須做其他的事情來讓文檔架構在我重命名後識別我的類。但是什麼?我發現some directions on another site,但它們是舊的,並且在使用Swift和故事板時爲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上面搜索「Document」(整個單詞,匹配案例)的建議讓我找到了我需要做的事情。爲了記錄,我需要進入Info.plist並轉到Document types/Item 0(Document type)/ Cocoa NSDocument Class,並將「$(PRODUCT_MODULE_NAME).Document」更改爲「$(PRODUCT_MODULE_NAME).Notebook」。

相關問題