This question already has answers here:
UITableViewCell indexPath crash in iOS7
(6个答案)
7年前关闭。
我有一个带有自定义单元格的UITableView。在每个UITableViewCell中,都有一个UIButton。我试图找出按钮被点击时位于哪个单元格中。为此,我已经这样做了:
我以为这样做会很好,但是当调用indexPathForCell时,会引发异常。
关于我做错了什么的任何想法?
谢谢!
它应该是:
因为按钮的 super View 不是单元格,所以contentView是单元格的哪个 subview 。
(6个答案)
7年前关闭。
我有一个带有自定义单元格的UITableView。在每个UITableViewCell中,都有一个UIButton。我试图找出按钮被点击时位于哪个单元格中。为此,我已经这样做了:
- (IBAction)likeTap:(id)sender {
UIButton *senderButton = (UIButton *)sender;
UITableViewCell *buttonCell = (UITableViewCell *)[senderButton superview];
UITableView* table = (UITableView *)[buttonCell superview];
NSIndexPath *pathOfTheCell = [table indexPathForCell:buttonCell];
NSInteger rowOfTheCell = [pathOfTheCell row];
NSLog(@"rowofthecell %d", rowOfTheCell);
我以为这样做会很好,但是当调用indexPathForCell时,会引发异常。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell indexPathForCell:]: unrecognized selector sent to instance 0x756d650'
关于我做错了什么的任何想法?
谢谢!
最佳答案
这是你的问题:
(UITableViewCell *)[senderButton superview]
它应该是:
(UITableViewCell *)[[senderButton superview] superview]
因为按钮的 super View 不是单元格,所以contentView是单元格的哪个 subview 。
关于ios - 调用indexPathForCell时崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17387924/
10-13 03:56