Когда я должен использовать Interface Builder? - PullRequest
7 голосов
/ 03 марта 2010

Когда я изучаю iPhone API, в книге, которую я использую, я делаю все возможное с помощью Interface Builder.Мы (иногда здесь одиноки) тоже пишем код, но мне действительно кажется, что я достаточно хорошо знаю Interface Builder.

Я знаю, что Interface Builder отличается от других GUI Builder, поскольку он используетсериализует объекты и не пишет код.Это якобы хорошая вещь.Итак ... в повседневной работе это инструмент выбора, или я должен попытаться преодолеть свою зависимость от Интерфейсного Разработчика?

Также: если вы предполагаете, что "это зависит от того, чтовы делаете, "от чего это зависит?"Как мне принять решение об использовании Интерфейсного Разработчика или нет?

Примечание: Субъективная и аргументированная версия этого вопроса была озаглавлена, Интерфейсный Разработчик: Серьезный Инструмент или Просто ДляДети? но я решил не соглашаться, потому что хочу не закрывать вопрос.

Ответы [ 5 ]

13 голосов
/ 03 марта 2010

Интерфейсный конструктор действительно используется для создания приложений. Взгляните на любое Mac-приложение на основе какао, которое не является ни Adobe, ни Microsoft, и вы увидите, что оно полно перьев. Чаще всего приложения для iPhone делаются без Interface Builder (поскольку исходный SDK поставляется без IB), но это все еще очень распространенный инструмент.

Разница между Интерфейсным Разработчиком и большинством других разработчиков GUI состоит в том, что Cocoa и Интерфейсный Разработчик были разработаны с учетом друг друга. На самом деле, если вы будете искать в архивах списков рассылки Cocoa , вы обнаружите, что многие люди в течение многих лет задаются вопросом, как можно создать приложение Cocoa без с помощью Interface Builder. (Ответ всегда один и тот же: вы можете делать все это в коде, но вы просто напрасно тратите время и усложняете разработку хорошего интерфейса.)

4 голосов
/ 29 мая 2013

Да, есть небольшая разница. Разница в том, что IB использует немного больше памяти и оперативной памяти, которые программно генерируются интерфейсом. Вот мой простой пример. {Я новичок в OBJ-C}

enter image description here

Исходный код и бинарное приложение здесь http://www.mediafire.com/download/9ph1zs1kyag9f1g/TestDifference_IB-Programmatically.zip

3 голосов
/ 03 марта 2010

Interface Builder - отличный инструмент.Используйте его как можно чаще.
Если вы не можете сделать что-либо только с помощью Interface Builder, тогда пора написать код, который смешивает IBOutlets и код, или сделать это только в коде.

3 голосов
/ 03 марта 2010

Интерфейсный конструктор отлично подходит, если вы планируете использовать стандартные элементы пользовательского интерфейса UIKit. Использование Интерфейсного Разработчика для разработки пользовательских интерфейсов на основе UIKit также помогает вам соответствовать Руководству Apple по человеческому интерфейсу .

Лишь в нескольких случаях вы не захотите использовать Interface Builder, наиболее очевидным из которых являются игры, которые предлагают свой уникальный внешний вид.

Не думаю, что вам нужно беспокоиться о построении "зависимости от Интерфейсного Разработчика". Это инструмент, как и любой другой. Используя это не зависимость, это просто способ, которым мы делаем вещи.

2 голосов
/ 03 марта 2010

Интерфейсный Разработчик не генерирует код, он просто создает граф объектов из существующих классов. Если вы посмотрите на файл пера, вы можете увидеть это. Это просто список правил для того, какие объекты создавать и какие отношения устанавливать между ними. В кончике нет кода, и на удивление очень мало кода для различных loadFromNib методов.

Именно связывание во время выполнения в Objective-c делает все это возможным. Я ни на каком другом языке не могу это осуществить.

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