Рекомендации по созданию объектов без просмотра в файле XIB - PullRequest
1 голос
/ 15 июля 2009

Интерфейсный Разработчик предоставляет возможность создавать не-view / контроллеры объектов в XIB-файле. В прошлом я использовал эту функцию для создания экземпляров и подключения небольших компонентов, которые управляют компонентами представления в XIB, и это казалось вполне разумным.

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

В случае Interface Builder мне любопытно узнать, каковы рекомендации по использованию этой функции внедрение зависимостей ?

Ответы [ 2 ]

2 голосов
/ 15 июля 2009

Эмпирическое правило, которое я использую, заключается в том, что вспомогательные объекты можно вставлять, если они каким-то образом связаны с пользовательским интерфейсом, определяемым в кончике, - либо прокси-объекты, которые содержат ссылки на элементы, или действия, которые запускаются. *

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

Хотя, я думаю, нет ничего плохого в чисто логическом пере, которое использовало бы систему target / action для подключения нескольких прокси-объектов. Это может быть проще, чем выполнять всю проводку в коде, хотя я не видел, чтобы это использовалось на практике.

1 голос
/ 15 июля 2009

Никаких указаний, ты сам по себе.

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

Мне кажется, я где-то читал, что если вы используете привязки между элементами управления nib и оконным контроллером, вы получаете утечку, а в некоторых случаях я сам попадаю в забавные неприятности, связанные с nib *.

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

Поэтому я предпочитаю сводить содержимое пера к минимуму, обычно это все, что нужно для полного использования привязок (обычно контроллеров массива), но не более.

[У меня есть идея для нового вопроса ]

...