我已经在xcode中创建了一个应用程序,每当我构建或运行应用程序时,它都说没有问题,但是在启动图像显示后,应用程序似乎崩溃并抛出此错误。
由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是密钥high_score_outlet的密钥值编码兼容。 * 第一次抛出调用堆栈: (0x1c24012 0x1609e7e 0x1cacfb1 0xcae41 0x4c5f8 0x4c0e7 0x76b58 0x619019 0x161d663 0x1c1f45a 0x617b1c 0x6198da 0x3fb68b 0x3fb9a2 0x3fa876 0x40bcb5 0x40cbeb 0x3fe698 0x255fdf9 0x255fad0 0x1b99bf5 0x1b99962 0x1bcabb6 0x1bc9f44 0x1bc9e1b 0x3fa17a 0x3fbffc 0x211d 0x2055) libc ++ abi.dylib:terminate调用抛出异常
我不太确定崩溃的原因,因为它表示构建或运行应用时代码中没有问题。
任何想法如何解决?
答案 0 :(得分:3)
您可能已重命名属性,但忘记在Interface Builder文件中将IBOutlet重新连接到组件。每当您更改IBOutlet代码中的属性时,都应检查Interface Builder并在连接断开时重新连接该项。
您的应用程序将编译得很好,因为Interface Builder Outlet在运行时连接,当加载nib时。
答案 1 :(得分:3)
很可能IBOutlet
已经过时了。
转到将在故事板中加载的第一个控制器并查看Connections Inspector
(⌥⌘6)并查找与high_score_outlet
相关联的插座。
这可能是早期重构遗留下来的。您需要断开连接并设置正确的连接
答案 2 :(得分:0)
检查哪个类具有属性-high_score_outlet
。您获得的消息意味着运行时无法找到相关的属性实现,因此: