Когда создавать плагин Interface Builder для настраиваемого представления? - PullRequest
8 голосов
/ 08 сентября 2008

Когда вы рекомендуете интегрировать пользовательский вид в Интерфейсный конструктор с помощью плагина? Просматривая Apple Руководство по программированию плагинов Interface Builder Я обнаружил:

  • Ваши пользовательские объекты будут использоваться только одним приложением?
  • Ваши пользовательские объекты полагаются на информацию о состоянии, найденную только в вашем приложении?
  • Было бы проблематично инкапсулировать ваши пользовательские представления в автономную библиотеку или фреймворк?

Если вы ответили «да» на любой из предыдущих вопросов, ваши объекты могут быть не подходящими кандидатами для плагина.

Это отвечает на некоторые мои вопросы, но мне все равно хотелось бы услышать ваши мысли, когда это хорошая идея. Каковы преимущества и насколько большие затраты времени?

Ответы [ 2 ]

9 голосов
/ 18 сентября 2008

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

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

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

2 голосов
/ 09 сентября 2008

Я думаю, что руководящие принципы Apple хорошо подводят итог.

Если вы пишете элемент управления, который будет использоваться в нескольких приложениях и является полностью универсальным, тогда создание пользовательского объекта - хорошая идея. Вы сможете визуализировать внешний вид и устанавливать свойства непосредственно из Interface Builder.

Если ваш контроль ограничен одним приложением или тесно связан с вашими данными, то перемещение его в пользовательский объект на самом деле не будет вам дорого стоить.

Создать пользовательский вид несложно, есть много простых руководств.

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