Есть основной контроллер ViewController - в нем основной view
Есть подкласс TableView : UIView
Этот view создается в storyboard
В какой то момент времени, в TableView создаются программно много subview - класса CardView - это игральные карты
каждой карте добавляется обработка нажатия
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
[cView addGestureRecognizer:singleTap];
но в этом случае вызывается метод tap, который должен быть описан в классе CardView, а хочется чтобы отработка этого события происходила в основном контроллере.
Вопрос 1. Есть ли возможность получить ссылку на главный контроллер, для того чтобы написать
initWithTarget: ссылка_на_контроллер
если это не невозможно или "не правильно", то как лучше реализовывать?
Вариант 1. реализовать метод tap в классе CardView, а там посылать Notifications
Вариант 2. попробовать придумать решение с делегированием этого метода (совсем для меня пока непонятная область)
Вариант 3. Передавать при создании объектов CardView ссылку на основной контроллер, и хранить ее как свойство
Прошу прощения, но я пока только разбираюсь с ios программированием, и наверное могу задавать глупые вопросы.