Создание пользовательского UIView с двумя UIButtons для члена UITableViewCell AccessoryView вызывает нераспознанный селектор, отправленный в ошибку экземпляра

Я пытаюсь создать представление с двумя кнопками для вспомогательного представления ячейки таблицы, чтобы делать две (очевидно) разные вещи для объекта в этом индексе ячейки. Я сделал два основных закругленных прямоугольных UIButton с селектором в RootViewController (где находится UITableView). Вот код, который я использую для инициализации этого представления в ячейке, найденной в методе cellForRowAtIndexPath:

UIButton* minus = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; [minus setFrame:CGRectMake(0, 0, 30, 30)]; [minus setTitle:@"-" forState:UIControlStateNormal]; [minus addTarget:self action:@selector(subtractOne:event:) forControlEvents:UIControlEventTouchDown]; UIButton* plus = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; [plus setFrame:CGRectMake(30, 0, 30, 30)]; [plus setTitle:@"+" forState:UIControlStateNormal]; [plus addTarget:self action:@selector(addOne:event:) forControlEvents:UIControlEventTouchDown]; UIView* customAccessory = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 60, 30)]; [customAccessory addSubview:minus]; [customAccessory addSubview:plus]; cell.accessoryView = customAccessory; [customAccessory release];

И два метода, которые они вызывают, определены:

- (void)subtractOne:(id)sender forEvent:(UIEvent *)event; - (void)addOne:(id)sender forEvent:(UIEvent *)event;

Любые идеи, почему это приведет к отправке нераспознанного отправителя в экземпляр «RootViewController»?

Вот полная ошибка:

2011-03-20 20:34:35.493 MyApp[23262:207] -[RootViewController subtractOne:event:]: в экземпляр 0x573c350 отправлен нераспознанный селектор 20-03-2011 20:34:35.496 MyApp[23262:207] * Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "-[RootViewController subtractOne:event:]: нераспознанный селектор отправлен экземпляру 0x573c350"


person Kristian K    schedule 21.03.2011    source источник
comment
Ваш код действительно помог мне создать собственное представление аксессуаров с двумя кнопками. Спасибо :)   -  person Hope4You    schedule 21.12.2012


Ответы (1)


Осознал свою глупую ошибку: пытался вызвать subtractOne:event:, когда писал метод для subtractOne:forEvent:

person Kristian K    schedule 21.03.2011