Насколько опытные программисты Cocoa полагаются на Interface Builder для подключения своих приложений? - PullRequest
4 голосов
/ 12 октября 2010

В IB можно создавать экземпляры контроллеров, создавать ссылки на элементы пользовательского интерфейса и определять цели действий. Это также возможно сделать программно. Интересно, что (большинство) опытных разработчиков какао предпочитают?

Во многих других средах я бы не стал слишком долго беспокоиться о сборщиках интерфейсов (в нижнем регистре), но инструменты Apple явно являются собственным классом. Тем не менее, они несут дальше, или они инструменты для начинающих? И почему?

Я думаю, очевидно, что они являются правильным выбором для сборки и размещения пользовательского интерфейса. Но как насчет связывания элементов пользовательского интерфейса и объектов контроллера?

Ответы [ 4 ]

14 голосов
/ 13 октября 2010

Опытные разработчики какао широко используют Interface Builder.Это неопытные люди, которые склонны не доверять ему, потому что сборщики пользовательского интерфейса для других сред обычно отстой, поэтому они предполагают, что Interface Builder такой.Это не.Cocoa и Interface Builder тесно связаны между собой.Трудно разработать приложение без с использованием Interface Builder - до такой степени, что если вы посмотрите в архивы списков рассылки Cocoa-Dev, вы увидите много разочарованных разработчиков, впервые знакомых с Cocoa, спрашивающих, как они могут избегать , используя IB.Ответ от сотрудников Apple и от опытных разработчиков Cocoa один и тот же: просто используйте его.

Думаю, я полон дерьма?Откройте любое профессионально сделанное приложение Какао.Серьезно - любое приложение Apple, любое стороннее приложение Какао.Теперь перейдите в папку «Ресурсы».Посмотрите вокруг, и вы увидите nibs везде .

Что касается того, сколько IB слишком много - есть момент, когда соединения будут устанавливаться кодом.В общем, подключение элементов пользовательского интерфейса и контроллеров, как правило, выполняется в IB, и даже соединения между контроллерами часто также выполняются, хотя это более сомнительно.В сущности, все сводится к тому, что для настройки и обслуживания требуется меньше работы.По иронии судьбы, большим исключением из доминирования IB являются нестандартные взгляды.Если у вас есть пользовательское представление, которое используется только один раз, просто не стоит времени для создания IBPlugin для него.В этом случае обычно контроллер подключается к представлению в IB, а затем контроллер подключает представление ко всему, что ему нужно.

4 голосов
/ 12 октября 2010

Это в основном зависит от их опыта работы в качестве разработчика и того, что вы можете считать «опытным».

Я видел, как люди отказываются даже открывать IB.

Мое мнение таково: чтобы создать приложение, не похожее на все учебные приложения эпохи iPhone 3G, нужно использовать IB, а отказаться от него и попытаться создать в коде красивое сложное приложение полностью пустая трата времени и может затруднить чтение вашего кода, если он не будет выполнен идеально.

2 голосов
/ 13 октября 2010

Любой опытный разработчик для Mac или iPhone будет использовать IB практически для всех своих интерфейсных соединений и в качестве менеджера создания объектов «инверсии управления». Поместив проводку в NIB вместо кода, он не загружается до тех пор, пока не будет запрошено, и им легче управлять.

2 голосов
/ 12 октября 2010

Как сказано в документации Apple, чем меньше кода вы пишете, тем меньше вам нужно поддерживать, и я думаю, что это очень хороший момент.

Вы всегда связываете контроллеры с элементами пользовательского интерфейса, вот чтоназывается схемой MVC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...