Создание пользовательского UIView с двумя кнопками UIB для элемента accessoryView UITableViewCell приводит к тому, что нераспознанный селектор отправляется на ошибку экземпляра
Я пытаюсь создать представление с двумя кнопками для вспомогательного представления ячейки таблицы, чтобы сделать две (очевидно) разные вещи с объектом по индексу этой ячейки. Я сделал две основные округленные прямоугольные UIB-кнопки с селектором в 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: событие:]: нераспознанный селектор отправлен в экземпляр 0x573c350 2011-03-20 20: 34: 35.496 MyApp [23262: 207] * Завершение приложения из-за неперехваченного исключения NSInvalidArgumentException, причина: '-[RootViewController subtractOne:event:]: нераспознанный селектор, отправленный экземпляру 0x573c350'
1 ответ
Понял свою глупую ошибку: пытался вызвать subtractOne: событие: когда я написал метод для subtractOne:forEvent: