Рекомендации по созданию непредставленных объектов в файле XIB

StackOverflow https://stackoverflow.com/questions/1131933

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

Никаких указаний, вы сами.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top