_NSCFString tableView:heightForHeaderInSection:]无法识别的选择器 - 需要帮助调试

时间:2013-12-25 23:24:43

标签: ios objective-c uitableview

我收到以下错误消息:

[__NSCFString tableView:heightForHeaderInSection:]unrecognized selector sent to instance 0xdc7e610]

它发生在:

之后

- 点击一个按钮,推送到view2,我有5个文本框。当您单击一个框时,键盘会向上推动视图,以便您可以看到您正在键入的内容。

- 在附件键盘视图上单击“完成”后,屏幕恢复正常。如果我在短暂延迟后点击屏幕(在屏幕返回到标准之后。)应用程序崩溃并显示上述错误消息。

注意:view2是一个普通的viewcontroller。视图1也是如此,但它上面有一个小桌子视图。

我一直试图弄明白,但还没有成功。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

听起来你在某个地方有一个僵尸(一个在它仍在使用时被释放的对象。这可能发生,因为表视图的委托属性是视图控制器的弱链接。

如果我不得不猜测我会猜测您的视图控制器正在发布,但您的表视图不是。

在仪器中使用zombies仪器运行,或在调试设置中打开僵尸。 (你应该能够找到关于在'网上找到僵尸的两种方法的信息/教程。)

答案 1 :(得分:1)

在这种情况下,将视图添加为子视图会保留它,当您删除视图控制器时,仍然可以引用表视图。但视图控制器已被解除分配,这就是数据源(UITableViewController的视图控制器)方法被发送到解除分配的实例的原因。

我遇到了同样的问题。边菜单有问题。当视图控制器弹出时,首先从弹出的视图中删除表视图,然后让菜单控制器弹出该子控制器。