У меня есть вопрос, касающийся лучших практик при добавлении целей в UIButton в пользовательском представлении. В настоящее время я создаю свой UIButton в методе загрузки моего вида и назначаю мой вид в качестве кнопки назначения. Мой взгляд заключается в обработке логики при нажатии кнопки, и мне приходит в голову, что это нехорошо MVC.
Итак, я бы предпочел, чтобы мой контроллер предоставил себя в качестве цели и действия для кнопки, однако я не уверен, что это лучший способ сделать это.
Представление может быть инициализировано со ссылкой на контроллер или может получить контроллер с помощью следующего корреспондента UIResponder и установить цель с этой ссылкой. Однако это может привести к циклическому удержанию и потребует от моего представления знания методов, существующих на моем контроллере, который более тесно связан, чем я бы предпочел.
В качестве альтернативы, я мог бы создать установщик для каждого uibutton в моем представлении. Однако это быстро становится громоздким, если у меня есть несколько кнопок или представление, которое содержит настраиваемое подпредставление с кнопками. Я также мог бы создавать свойства для каждой кнопки, но это также было бы громоздким и позволяло бы контроллеру получить доступ к большему, чем ему нужно (ему просто нужно установить цели, ему не нужно иметь возможность получить какую-либо ссылку на кнопку).
Наконец, я могу создавать и добавлять цели для всех моих кнопок в контроллере и передавать их в представление при инициализации, но это, похоже, также нарушает роли MVC.
Кажется, что это обычный сценарий, считается ли какая-либо из этих практик стандартной или есть лучшее решение?