В опубликованном вами дизайне существует тесная связь между вашим пользовательским интерфейсом и вашей моделью. Это несколько осуждается при создании больших / формальных / серьезных / долгоживущих систем. Существует хорошо известная схема архитектуры интерфейса / модели архитектуры, известная как Model-View-Controller , которая решает эту проблему.
Нужно ли вам беспокоиться о поездке в город для создания архитектуры в стиле MVC, действительно зависит от контекста вашего приложения и ваших желаний в будущем. Но вы должны прочитать о MVC и знать, что он там есть.
Кстати, я вижу в вашем коде «запах кода» : два объекта, A и B, каждый из которых содержит ссылку друг на друга. Обычно есть более желательный способ делать вещи, чем циклические ссылки. Вы можете избежать этого, имея, например, объект A, содержащий ссылку на B (и, возможно, даже «владеющий им»), и B отправляющий данные, представляющие интерес, к A посредством уведомлений или шаблона наблюдателя и т. Д. иметь какую-либо конкретную информацию об А, или даже знать, что он существует. Вуаля, меньше сопряжения в вашем дизайне, так что вы получите больше возможностей для повторного использования кода и менее хрупкую систему, которую легче изменить.
Важным и центральным шаблоном проектирования в Какао (и Cocoa Touch) является шаблон делегата. Этот шаблон предполагает использование протоколов (аналогично интерфейсам в других языках, таких как Java) для разделения производителя и потребителя информации, событий и т. Д.
Предлагаю прочитать эту превосходную справку от Apple о фундаментальных шаблонах проектирования в Cocoa Touch.