Я создаю новое приложение на основе документов в Swift для OS X с помощью Xcode. Я хотел бы, чтобы класс Document по умолчанию был вызван чем-то, что не является документом (в данном случае Notebook), хотя, конечно, он все равно будет подклассифицировать NSDocument (или NSPsistentDocument, если я буду использовать Core Data). Я могу переименовать его файл из Document.swift в Notebook.swift, но как только я переименую фактический класс из Document в Notebook, при запуске приложения появится предупреждение об ошибке «Никакой документ не может быть создан». Консоль сообщает мне: «Тип DocumentType не сопоставляется ни с каким NSDocumentClass».Переименовать класс документа в Swift на основе документов
Так что, очевидно, мне нужно сделать другие вещи, чтобы архитектура документа распознала мой класс, как только я переименовал его. Но что? Я нашел some directions on another site, но они старые и написаны для Objective-C и XIB, когда я использую Swift и раскадровки; то, что мне нужно сделать, скорее всего, будет совсем другим. Что нужно сделать, чтобы переименовать основной класс документа для приложения на основе документов, в Swift, используя раскадровки?
EDIT: для кода был запрошен код. В основном, по умолчанию 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 {
[...]
}
Он работал с версией на верху и не работает с версией на дно.
Эй, у вас есть какой-либо код, который вы можете опубликовать, чтобы помочь? – KFDoom
Найдите проект Xcode для «Document» (целое слово, соответствующий регистр). – Willeke
Спасибо, что сработало. Будет добавлено немного деталей ниже, если у кого-то другая проблема. –