调用indexPathForCell时崩溃

use*_*943 5 exception uitableview ios

我有一个带自定义单元格的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);
Run Code Online (Sandbox Code Playgroud)

我认为这样可以正常工作,但是当调用indexPathForCell时,会抛出异常.

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell indexPathForCell:]: unrecognized selector sent to instance 0x756d650'
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?谢谢!

Avi*_*dok 6

这是你的问题:

(UITableViewCell *)[senderButton superview]
Run Code Online (Sandbox Code Playgroud)

它应该是:

(UITableViewCell *)[[senderButton superview] superview]
Run Code Online (Sandbox Code Playgroud)

因为按钮的上海华不是细胞,是内容查看电池的哪个子视图.