Ответ 1
OS X довольно похож на iOS в том плане, что он также следует за концепцией MVC. Тем не менее, весь пользовательский интерфейс отличается тем, что OS X обычно работает с большим дисплеем и использует мышь и клавиатуру для ввода, поэтому отображение 1:1 между let say NSViewController
и UIViewController
невозможно, Обычно у вас есть оконный контроллер, который вроде бы действует так, как вы ожидаете, что ваш контроллер просмотра находится под iOS. Однако вместо перехода между контроллерами представлений, используя, например, a UINavigationController
, вы либо представляете второе окно в виде модального листа, либо просто открываете его как панель или подобное.
Просто посмотрите на свое среднее приложение Mac, большинство вещей, которые под iOS требуют нескольких контроллеров просмотра и переходов между ними, работают только с одним окном, которое содержит все. Просмотр контроллеров под OS X гораздо менее полезен, чем в iOS, однако они отлично работают, чтобы разделить разные логические разделы в нескольких классах или когда вы хотите отображать различный контент в окне и меняться между ними (подумайте о Xcode, левом и правая панель всегда одна и та же, но содержимое в середине, текстовый редактор, целевой редактор и т.д., это будет место для использования нескольких контроллеров представлений).
Мой совет: не пытаться использовать приложение iOS для Mac. Хотя вы можете придерживаться своей базовой логики одинаково, презентация вашего приложения должна быть принципиально иной из-за того, что весь пользовательский интерфейс OS X значительно отличается. Если вы не знаете, как работать с такими вещами, как NSWindowController
, NSDocument
и все, документация и пример кода, предоставленные Apple, в большинстве случаев довольно хороши (хотя некоторые примеры старше)