Я не знаю, почему это происходит, но я получаю эту ошибку:Ошибка при обработке касания UIImageView в ячейке?
-[__NSArrayM section]: unrecognized selector sent to instance 0x7e53b70 2012-01-07 15:35:44.108 Timely1[51661:15203] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM section]: unrecognized selector sent to instance 0x7e53b70'
когда handleTouch
активируется. Вот мой код для добавления изображения и жест нажатия.
[cell.imageView setUserInteractionEnabled:YES];
[cell.imageView setImage:[UIImage imageNamed:@"checkbox.PNG"]];
UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTouch:)];
tapped.numberOfTapsRequired = 1;
[cell.imageView addGestureRecognizer:tapped];
[tapped release];
, а затем мой код для обработки штрих:
-(void)handleTouch:(UITapGestureRecognizer *)gesture
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[array count] inSection:1];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell.imageView setImage:[UIImage imageNamed:@"checkbox_checked.PNG"]];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:array] withRowAnimation:UITableViewRowAnimationFade];
}
UPDATE: Как насчет, если я хочу, чтобы снять его (как переключая его) Кто-нибудь знает, как сделать это?
Мне кажется, что проблема, с которой вы столкнулись раньше, лежит в строке - NSIndexPath * indexPath = [NSIndexPath indexPathForRow: [array count] inSection: 1]; Вместо этого вам нужно использовать NSIndexPath * indexPath = [NSIndexPath indexPathForRow: [array count] -1 inSection: 1]; – rishi
да, но знаете ли вы, как исправить '[self.tableView reloadRowsAtIndexPaths: [NSArray arrayWithObject: array] withRowAnimation: UITableViewRowAnimationFade];' потому что я понял, что это проблема, но если я хочу снова перезагрузить ячейку, t использовать эту строку больше. – Souljacker
Вы передаете объект NSIndexPath в массиве? – rishi