Итак, я начинаю узнавать, как использовать какао. Я думаю, что у меня это почти получилось, но я помешан на создании и переключении представлений. Я переписываю игру, которую сделал немного назад, для практики. Все, что мне нужно, это одно окно (желательно без изменения размера), и я хочу иметь возможность переключать представления для разных экранов в игре.
Во-первых, у меня есть главное меню (Start Game, High Scores, Exit). Затем мне нужно окно для каждого экрана (экран игрового процесса, экран рекордов).
Меня смущает то, как это спроектировать. Я поискал NSViewController, думая, что он управляет представлениями, но это не так. Он управляет только одним представлением, действительно загружая его. Я не понимаю, зачем мне тогда использовать NSViewController. Разве я не мог просто иметь класс окна, содержащий несколько подклассов NSView, и загружать их вот так? Я не уверен, что понимаю цель ViewController.
Действительно ли моему классу окна нужно создавать подкласс NSWindowController? Я пытался следовать примеру Apple ViewController, и у него есть класс оконного контроллера, который является подклассом NSWindowController. Я не понимаю, с какой целью это было подклассом. Кажется, что NSWindowController добавляет только - initWithPath:(NSString *)newPath
, но я не вижу в этом пользы, когда я могу просто отредактировать файл plist, чтобы открыть окно при запуске. В примере Apple также есть переменная NSView и переменная NSViewController. Разве вам не нужна только одна переменная для хранения текущего представления?
Заранее спасибо, ребята, я действительно не понимаю, как это работает.