У меня есть класс UIViewController
, classA
. Этот класс подключен к buttons
выходам его подключенного вида (из раскадровки).Создание класса для ввода всех кнопок делегатов
Что я хотел бы сделать, это создать еще classB
, который будет обрабатывать все действия кнопок. Вопрос в том, как я могу задать делегатам кнопки в classA
, которые будут обрабатываться в classB
, и как я могу сделать classB
, чтобы быть живым на все это время.
Я думал об этом.
в CLASSA: (главный контроллер представления, которые имеют кнопки точек)
ClassB *buttonsResponder=[[classB alloc]init]; //initialize buttons class
[self.button addTarget:buttonsResponder action:@selector(do:) forControlEvents:UIControlEventTouchDown];
Моя главная проблема в том, когда ClassB обрабатывать действия, и позволяет сказать, что он должен открыть какой-нибудь почтовый композитор контроллер представления, как может ли классB открыть этот почтовый композитор «внутри» класса? или даже некоторые UIView
, что я хочу показать в CLASSA, но отclassB
Я думал посылать указатель на текущий контроллер представления в качестве аргумента кнопки, но я не знаю, как, и если это будет работа:
[self.button addTarget: buttonsResponder действие: @selector (делать: и указатель контроллера?) forControlEvents: UIControlEventTouchDown];
Держите сильную ссылку на ClassB в CLASSA. Сделайте экземпляр класса B как instanceVariable или свойство классаA, иначе он будет освобожден –
спасибо, см. Мое редактирование, пожалуйста, я не упомянул о своей главной проблеме. – Curnelious
Я предлагаю вам переосмыслить идею «classB» здесь. Если кнопки являются частью 'classA', то лучше обрабатывать действия только там, иначе у вас может быть веская причина для этого. Что-нибудь подобное? –