【问题标题】:EXC_BAD_INSTRUCTION when calling other view in a navigation controller在导航控制器中调用其他视图时的 EXC_BAD_INSTRUCTION
【发布时间】:2012-09-13 01:02:21
【问题描述】:

我有一个包含一些数据的 UITableView 单元格。

当我选择一个单元格时,我希望表格视图将我重定向到另一个视图。 这就是我正在做的事情:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    Multa *multa = [self.multas objectAtIndex:indexPath.row];

    DetalheMultaViewController *form = [[DetalheMultaViewController alloc] initWithMulta:multa];
    form.delegate = self;

    [self.navigationController pushViewController:form animated:YES];
}

但是,在最后一行时,我收到了这个错误:EXC_BAD_INSTRUCTION。

在控制台中我收到了这条消息(我明白在说什么,但不明白发生了什么):

2012-09-16 17:11:25.719 Multas Sociais[5092:11603] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<DetalheMultaViewController 0x7a46e10> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key fotoUrl.'
*** First throw call stack:
(0x1547052 0x1b0cd0a 0x1546f11 0xf2d032 0xe9ef7b 0xe9eeeb 0xeb9d60 0x7ac91a 0x1548e1a 0x14b2821 0x7ab46e 0x652e2c 0x6533a9 0x6535cb 0x652c1c 0x67956d 0x663d47 0x67a441 0x67a4f9 0x871c68 0x6314a1 0x63212b 0x8714c7 0x65a427 0x65a58c 0x65a5cc 0x3c2f 0x61d71d 0x61d952 0xea586d 0x151b966 0x151b407 0x147e7c0 0x147ddb4 0x147dccb 0x1f7a879 0x1f7a93e 0x58da9b 0x2608 0x2565)
terminate called throwing an exception(gdb) 

想法?

非常感谢。

【问题讨论】:

  • 发布崩溃问题时,请提供更多信息。不会发生孤立的崩溃;调试器/控制台可以包含堆栈跟踪,并且可能会告诉您比您在此处发布的更多信息。
  • 谢谢,我不知道控制台上有错误的详细信息。我已经更新了我的问题。
  • 什么是fotoUrl?它真的被定义为属性吗?
  • 是的。但是谢谢,我已经用提供的答案解决了它。

标签: objective-c uitableview uinavigationcontroller


【解决方案1】:

您可能有一个名为 fotoURL 的旧 IBOutlet,直到连接到您的 XIB 文件中的某个对象,而您从代码中的 .h 中删除了 IBOutlet。

编辑您的 XIB 文件并删除与旧 fotoURL 插座的连接。

如果这还不够,您可能需要在重新构建之前清理您的项目(“产品”菜单、“清理”,或者为获得更好的结果按住“alt”键并选择“清理构建文件夹...”)。

【讨论】:

    【解决方案2】:

    我可以假设您之前在 DetalheMultaViewController 的 xib 中有一些 fotoUrl IBOutlet 属性,并且您已将其链接到某个对象。稍后您从类接口中删除了此属性,但保留了 xib 中的链接。所以现在,当framework加载xib时,它会尝试设置一个值,但是没有这个值。

    【讨论】:

      【解决方案3】:

      您的视图控制器在推送时似乎正在尝试访问不存在的fotoURL。这可能在视图控制器的 viewDidLoad 方法中,但它可能是其 nib 文件中的设置无效;也许fotoURL 插座存在于早期版本的笔尖中并且从未断开连接?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多