2016-07-24 3 views
0

Я новичок в программировании, и я пытаюсь понять эту концепцию в Swift IOS. В чем преимущества использования IBaction и IBoutlet для подключения к моему коду таких вещей, как UIButtons и UILabels?Быстро, почему я должен использовать IBaction или IBOutlet для обмена данными между кодом и пользовательским интерфейсом?

Почему они не позволяют нам устанавливать объекты UI равными имени типа button1 или label1, чтобы мы могли использовать эти имена для вызова и изменения их в моем коде?

+0

В принципе, это просто имена. Благодаря времени выполнения Obj-C механизм загрузки nib может установить ваши ivars на основе имени выхода. – jtbandes

ответ

2

У вас нет. IBAction и IBOutlet - это то, как файлы раскадровки и xib, созданные с помощью интерфейса Builder (IB), связаны с файлами реализации при разборке XML-словарей из nib. Однако создание представлений и контроллеров с макетами в коде полностью разрешено и даже общая схема управления проектами в командах.

Лично мне нравится использовать интерфейс Builder для визуального аспекта выкладки моих представлений, а также помогает уменьшить размер файлов моего контроллера, поскольку он позволяет мне устанавливать настройки макета и цвета в раскадровки и xib. Но некоторые разработчики утверждают, что это на самом деле недостаток, поскольку он запутывает некоторые функции ваших контроллеров от непосвященных. Есть веские аргументы в пользу того, чтобы избежать использования интерфейса Builder при работе в командах, но это действительно сводится к стратегии и предпочтениям.

2

Это просто теги, которые Xcode использует для связи кода и раскадровки/XIB. Функционально они ничего не делают. Они помогают вам, как разработчику знать, что/нет/может/не может быть связано между визуальным представлением вашего интерфейса и кодом, управляющим им.

Смежные вопросы