发生的事情是在我的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) = 174362192 <EventListVIEwController: 0xa648e50>(lldb) po self(EventListVIEwController *) = 0x0a648e50 <EventListVIEwController: 0xa648e50>(lldb) po tableVIEw(UItableVIEw *) = 0x070fd400 <UItableVIEw: 0x70fd400; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6e46750>; contentOffset: {-0,-0}>(lldb) po indexPath(NSIndexPath *) = 0x06e8caf0 <NSIndexPath 0x6e8caf0> 2 indexes [1,1]
(tableVIEw有2个部分,第二部分有2个部分)
任何人有任何想法发生了什么?如果您需要更多信息,请与我们联系.
注意:经过更多调查后,我发现这是100%可重复的,具有以下步骤:
1:加载应用程序,然后单击两个条目中的任何一个.
2:返回tableVIEw控制器
3:点击以下两个条目,在不应该有单元格的空白处
该应用程序将崩溃,但请注意indexPath没有说它试图选择一个超出tableVIEw边界的单元格,只是因为tableVIEw dIDSelectRowAtIndexPath方法不存在
以上是内存溢出为你收集整理的objective-c – tableview – 无法识别的选择器didSelectRowAtIndexPath全部内容,希望文章能够帮你解决objective-c – tableview – 无法识别的选择器didSelectRowAtIndexPath所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)