За последние пару лет я сделал много развития iOS, поэтому я хорошо знаком с архитектурой iOS и дизайном приложений (все это ViewController, который вы либо нажимаете, или вставлять в полоски выступов). Недавно я начал изучать правильную разработку приложений для Mac и немного потерялся. Я бы хотел, чтобы на самом деле был просто проверен на здравомыслие и, возможно, был какой-то совет относительно того, как правильно построить такое приложение:Дизайн/архитектура приложений высокого уровня
Я бы хотел создать однопользовательское приложение в стиле библиотеки, которое будет порождать дополнительные окна во время его работы, но не как полномасштабные документы. Главное окно будет выложено так же, как OS X Lion в Mail.app, с тремя широким видом раздвоения, содержащий:
- Список источника, или выбор темы высокого уровня
- A View список элементов, относящихся к данной теме, выбранной в первой панели
- вида в детали, который показывает деталь объекта, выбранный в средней панели
Как я уже сказал, очень похоже на Mail.app, насколько выглядит.
Мой вопрос в том, как склеить все это изнутри XCode. Вот где мое замешательство лежит до сих пор:
Проект по умолчанию создал NIB с главным меню и окном. Мне нравится инкапсулировать функциональность, поэтому я должен сделать оконный контроллер для этого окна и каким-то образом подключить его к интерфейсу Builder, или какие-либо функции, связанные с окном, принадлежат где-то еще?
Если возможно, я бы хотел, чтобы каждая из трех моих панелей была отдельными контроллерами. Я создал три подкласса NSViewController (XCode автоматически сгенерировал NIB) и добавил (в главное меню/окно NIB) просмотр объектов контроллера с каждым указанным классом, подключив каждое свойство
view
к одному из трех общих объектов NSView. Я бросил NSSplitView. Когда я попытался установить NIB каждого контроллера просмотра, в раскрывающемся списке появилось только главное меню/окно NIB, а ввод желаемого вручную, казалось, не имел эффекта (содержимое представления на самом деле не отображалось при запуске приложения) , Это заставляет меня думать, что я делаю что-то неправильно.Я немного неясен в отношении того, какие виды видов я должен использовать для каждой из двух первых панелей. Я, очевидно, создаю пользовательскую для последней панели, но, похоже, первые два должны присутствовать в каркасе Cocoa уже.
В любом случае, если я поступаю совершенно неправильно, не беспокойтесь, обращаясь к моим вопросам; просто скажи мне, что я должен делать вместо этого. Я думаю, что мне просто нужен хороший разработчик Mac, чтобы указать мне в правильном направлении.
Это прекрасно, и именно то, что я искал. Ты прав; Я полностью предположил, что 'UIViewController' и' NSViewController' являются синонимами. Твердый ответ и хороший совет. Благодаря! –