Когда я должен создать подкласс NSDocumentController для приложения OSX?

Я строю document-based приложение с поддержкой основных данных (поэтому мой документ NSPersistentDocument) и мне интересно, если мне нужно подкласс NSDocumentController так же как NSWindowController (для каждого окна в моем приложении, так как у меня есть несколько).

Я просмотрел документацию Apple, но не нашел хорошего объяснения NSDocumentController за исключением того, что он говорит, что "маловероятно, что вам нужно будет подкласс его".

Может кто-нибудь дать мне несколько советов и сценариев о том, как все это работает?!

Любая помощь высоко ценится!

1 ответ

Решение

Отличный пример подкласса NSDocumentController (хотя он не использует CoreData) можно найти в исходном коде TextEdit. Увидеть их DocumentController учебный класс. В частности, они подкласс NSDocumentController для поддержки временных документов без названия. Вновь открытые документы заменят пустые безымянные документы, если они не были отредактированы.

Другим примером использования будет изменение отображения открытых документов на NSDocument подклассы в вашем приложении. По умолчанию это один к одному, но предположим, что вы разрабатывали IDE в том же духе, что и Xcode. У вас может быть подкласс документа проекта, а также подкласс файла документа. Если пользователь открывает файл, который уже присутствует в открытом проекте, вы можете принудительно открыть документ внутри проекта и связанных с ним окон, а не создавать новый файл документа и окно для него.

Надеюсь, это поможет!

Другие вопросы по тегам