Dis*_*ser 3 macos xcode cocoa nsdocument swift
我正在使用Xcode在Swift for OS X中构建一个基于文档的新应用程序.我希望默认的Document类被称为不是Document的东西(在本例中是Notebook),当然它仍然是子类NSDocument(如果我使用Core Data,则为NSPersistentDocument).我可以将其文件从Document.swift重命名为Notebook.swift,但是一旦我将实际的类从Document重命名为Notebook,运行该应用程序会弹出错误警告"无法创建文档".控制台告诉我"DocumentType类型不映射到任何NSDocumentClass."
因此,显然我必须做其他事情才能使文档架构在重命名后识别我的类.但是什么?我在另一个网站上找到了一些指示,但是当我使用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]
}
Run Code Online (Sandbox Code Playgroud)
然后我改成了
import Cocoa
class Notebook: NSDocument {
[...]
}
Run Code Online (Sandbox Code Playgroud)
它适用于顶部的版本,不适用于底部的版本.
上述Willeke的建议,以搜索"文件"(全字匹配的情况下)让我找到了我需要做的.为了记录,我需要进入Info.plist并转到文档类型/项目0(文档类型)/ Cocoa NSDocument类,并将"$(PRODUCT_MODULE_NAME).Document"更改为"$(PRODUCT_MODULE_NAME).Notebook".
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |