【发布时间】:2012-06-02 08:46:38
【问题描述】:
好的,所以我对 Xcode 还很陌生,对调试一点也不熟悉。 我花了几天时间创建了一个简洁的小应用程序。一切都运行良好,我决定在收工前运行最后一次模拟。 这是我开始头痛的时候:
Thread 1: signal SIGABRT
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
当我注意到项目导航器底部的文件夹中有一个 AppDelegate 文件时,我开始查看我的代码。我将它放回文件夹中并再次运行模拟器。抛出相同的异常。 (我不记得是哪个委托文件了,这发生在几个小时前)
所有输出:
2012-06-02 04:54:14.901 App Name[438:f803] ***Terminating app due to uncaught exception 'NSUnkownKeyException', reason: '[<UIApplication 0x687b3d0> setValue:forUndefinedKey:]: this class is not key value coding-complaint for the key _slider.'
有人可以帮帮我吗?
我在想这些文件以某种方式失去了彼此之间的通信。
Xcode 是否因为位置更改而取消引用该文件?
【问题讨论】:
-
return UIApplication(argc, etc...) -
@H2CO3 它是 'UIApplicationMain' 而不是 'UIApplication' 。很抱歉我发错了。编辑和更新
-
配置 Xcode 以中断异常。这将显示问题的真实位置。无论如何,有些东西正在使用键值编码 (KVC) 或绑定(基于 KVC 构建)来使用键“_slider”访问不具有此类属性的对象上的属性。如果异常仍然指向对
UIApplicationMain()的调用,请检查您的NIB。 -
@KenThomases 有 1 个断点。它在 implementation(.m) 文件中的实现线上。 '@implementation AppNameViewController'
-
断点是您发出的请求,要求调试器在发生特定事情时停止。我建议您为所有异常添加一个断点。请参阅 stackoverflow.com/a/10845508/1312143 以获取迷你演练。