なぜこれが起こっている私は知らないが、私はこのエラーを取得:セル内で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:どのように私は誰もがそれを行う方法を知っている(それはトグルのように)それをオフにしたい場合は?私はあなたが使用できると思い、あなたのhandleTouch方法で
以前に直面していた問題は、NSIndexPath * indexPath = [NSIndexPath indexPathForRow:[配列数] inSection:1]という行にあります。代わりに、NSIndexPath * indexPath = [NSIndexPath indexPathForRow:[配列数] -1 inSection:1]を使用する必要があります。 – rishi
ええ、しかし、私はそれが問題だとわかったので、 'self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:array] withRowAnimation:UITableViewRowAnimationFade]を修正する方法を知っていますが、その行をもう使用しないでください。 – Souljacker
NSIndexPathのオブジェクトを配列に渡していますか? – rishi