Справочное изображение
Здравствуйте!
Я делаю проект Swift с использованием шаблона MVC, и я надеюсь, что вы, ребята, могли бы помочь мне с как лучше всего передавать информацию между различными классами.
Я приложу все усилия, чтобы описать, но, пожалуйста, взгляните на мою плохо нарисованную ссылку для некоторой дополнительной ясности.
Проект построен с Model, это простой класс с правилами проекта, View Controller, который имеет экземпляр как View, так и Model, передает информацию между ними и инициирует View.
View имеет все переменные элемента и устанавливает макет. Представление имеет CollectionViewController, который, в свою очередь, имеет CollectionViewCells. В одной из этих ячеек есть кнопка. Конечно, есть и другие классы, но они не имеют отношения.
То, что я пытаюсь сделать sh, - это то, что я хочу, чтобы пользователь нажимал кнопку в CollectionViewCell. Затем CollectionViewCell должен сообщить представлению, что кнопка была нажата, а представление должно получить некоторую информацию и отправить ее в ViewController, который будет интерпретировать ее для модели.
Больше или меньше Button> Пользовательские клики -> ( CollectionViewController) -> View> View собирает информацию -> CollectionView -> Model.
Я не могу делегировать событие buttonclick представлению, так как нельзя делегировать UIViews. Я могу использовать Closure для отправки события buttonclick в CollectionViewController, но, похоже, я не могу отправить его дальше оттуда.
Так что две альтернативы, на которые я смотрю, это создание NotificationCenter просто сказать, что View была нажата кнопка, или сделать View ViewController тоже. Ни то, ни другое не кажется идеальным. У кого-нибудь есть лучшее решение или какое-либо понимание того, что я должен делать здесь?