objective-c – tableview – 无法识别的选择器didSelectRowAtIn
发布时间:2020-12-15 01:40:48 所属栏目:百科 来源:网络整理
导读:我的应用程序在选择tableView中的内容时遇到了问题.这不是100%可重复的,但它经常发生. 发生的事情是在我的EventListViewController类(UITableViewController的子类)中,我覆盖了didSelectRowAtIndexPath函数,因为我在这个类中也使用了搜索栏,我希望它只在你
我的应用程序在选择tableView中的内容时遇到了问题.这不是100%可重复的,但它经常发生.
发生的事情是在我的EventListViewController类(UITableViewController的子类)中,我覆盖了didSelectRowAtIndexPath函数,因为我在这个类中也使用了搜索栏,我希望它只在你不搜索时选择. 代码如下所示: -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if(!searching) [super tableView:tableView didSelectRowAtIndexPath:indexPath]; } 然而,当它崩溃时,我打破异常,这是我得到的消息,在调用超级函数的行上: [EventListViewController tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0xa648e50 我在调试器上打印了一些东西,这对我来说都很好看: (lldb) po 0xa648e50 (int) $1 = 174362192 <EventListViewController: 0xa648e50> (lldb) po self (EventListViewController *) $2 = 0x0a648e50 <EventListViewController: 0xa648e50> (lldb) po tableView (UITableView *) $3 = 0x070fd400 <UITableView: 0x70fd400; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6e46750>; contentOffset: {-0,-0}> (lldb) po indexPath (NSIndexPath *) $4 = 0x06e8caf0 <NSIndexPath 0x6e8caf0> 2 indexes [1,1] (tableView有2个部分,第二部分有2个部分) 任何人有任何想法发生了什么?如果您需要更多信息,请与我们联系. 注意:经过更多调查后,我发现这是100%可重复的,具有以下步骤: 解决方法
在tableView:didSelectRowAtIndexPath:中调用super是不必要的.如果我没记错的话,UITableViewController不提供该方法的默认实现.因此,您对super的调用会导致崩溃.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |