Когда я должен создать подкласс NSDocumentController для приложения OSX?
Я строю document-based
приложение с поддержкой основных данных (поэтому мой документ NSPersistentDocument
) и мне интересно, если мне нужно подкласс NSDocumentController
так же как NSWindowController
(для каждого окна в моем приложении, так как у меня есть несколько).
Я просмотрел документацию Apple, но не нашел хорошего объяснения NSDocumentController
за исключением того, что он говорит, что "маловероятно, что вам нужно будет подкласс его".
Может кто-нибудь дать мне несколько советов и сценариев о том, как все это работает?!
Любая помощь высоко ценится!
1 ответ
Отличный пример подкласса NSDocumentController
(хотя он не использует CoreData) можно найти в исходном коде TextEdit. Увидеть их DocumentController
учебный класс. В частности, они подкласс NSDocumentController
для поддержки временных документов без названия. Вновь открытые документы заменят пустые безымянные документы, если они не были отредактированы.
Другим примером использования будет изменение отображения открытых документов на NSDocument
подклассы в вашем приложении. По умолчанию это один к одному, но предположим, что вы разрабатывали IDE в том же духе, что и Xcode. У вас может быть подкласс документа проекта, а также подкласс файла документа. Если пользователь открывает файл, который уже присутствует в открытом проекте, вы можете принудительно открыть документ внутри проекта и связанных с ним окон, а не создавать новый файл документа и окно для него.
Надеюсь, это поможет!