3

我有一个带有一些数据的 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) 

想法?

非常感谢你。

4

3 回答 3

3

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

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

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

于 2012-09-16T20:32:52.593 回答
2

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

于 2012-09-16T20:30:00.880 回答
1

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

于 2012-09-16T20:29:13.273 回答