Я возвращаюсь к разработке Cocoa на Mac после долгой работы с iPhone. Мой предыдущий опыт работы с Cocoa на Mac был просто изящными маленькими инструментами. Я хочу построить что-нибудь серьезное.
Глядя на современное приложение Какао, такое как iPhoto (или Mail, или Things, или ....), многие приложения используют подход «единого окна», основанный на списке источников. Я пытаюсь осмыслить это как можно лучше, потому что, похоже, это дает хороший опыт. Однако у меня небольшая проблема. Вот как, я думаю, это должно выглядеть, но мне интересно, как это делают другие, и что на самом деле лучше всего:
Отправной точкой приложения является объект AppDelegate, который после запуска создает Window [Controller?] Из пера вместе с настройкой его данных (например, из CoreData).
WindowController загружает окно, в котором, по сути, есть только NSSplitView.
В левой части splitview есть NSTableView или NSOutlineView, для которого задан стиль SourceList.
На правой стороне находится основное содержимое приложения, в зависимости от того, какой элемент представления таблицы выбран.
Я бы предположил, что где-то (где?) Есть NSViewControllers, управляющие каждым из разных представлений, которые будут отображаться с правой стороны (подумайте, как в iPhoto есть все фотографии, события, лица, места и т. Д., И я предполагаю, что все они могут отображаться в разных перьях ... это правильно?).
Эти контроллеры представления, вероятно, привязаны к исходному списку слева ... как это работает (может быть, исходный список поддерживается NSArrayController из NSViewControllers?).
В любом случае, это мои мысли, я совершенно не в себе или ...? Я поискал в Интернете, нашел это сообщение здесь, и я просмотрел некоторый исходный код Apple, но я не могу осмыслить это. Любое руководство приветствуется.