XCode项目不会构建(由于未捕获的异常而终止应用程序)

时间:2016-07-29 11:27:50

标签: ios objective-c swift xcode

我有一个带有主要故事板和主ViewController的XCode项目。然后有4个子类/ xib文件可以刷成页面。这一切都运行正常,但只要我添加标签并将其链接为IBOutlet,应用程序就无法成功构建,我收到此错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7ff7cc0953b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key daysCountDaysLabel.'

我已经坚持了几个小时并且在Stack Overflow上关注了10个左右的类似(并已解决!)帖子的解决方案而没有为我工作。

我尝试过的事情:

  • 确保没有与标签不匹配的IBOutlets
  • 删除所有标签/ IBOutlets,测试它是否有效,然后添加 一个新的标签,并与IBOutlet匹配(然后不起作用)
  • 清理构建
  • 检查.xib文件的来源以查看是否有旧的插座等
  • 确保班级名称匹配
  • 停止在Stack Overflow上发布一些看起来容易修复的内容,因为有很多其他已解决的帖子都有同样的问题(抱歉)

我已将项目压缩并放在此处以防万一有人可以识别并解决问题: http://expirebox.com/download/87ccb8b70612ef3c86a447ff5eb8d728.html

4 个答案:

答案 0 :(得分:3)

好吧,我浏览了附件,我认为这可能是问题所在:

let vc0 = UIViewController(nibName: "ViewControllerDays", bundle: nil)

您应该在UIViewController

时实例化ViewControllerDays

这就是为什么它在运行时失败,因为它试图以UIViewController访问它而没有任何这些属性。

这种情况发生在很多地方。您需要使用正确的视图控制器类初始化。

答案 1 :(得分:2)

抱歉,由于防火墙限制,我无法下载你的代码。 :(

1) check all your xib and storyboard you must have "daysCountDaysLabel" label connected and not declared in .h or .m file removed it.
2) window -> projects -> project name delete direved data and try again

答案 2 :(得分:1)

所以,我在你的项目中看到两个问题,首先你的xib文件包含UIViews而不是UIViewController.Also,它们没有链接到你的自定义ViewController类。例如, ViewControllerDays.xib 包含一个UIView,您可以在其中添加标签。所以,首先你需要删除UIView并添加UIViewController。然后将ViewController链接到 ViewControllerDays 。这是一个主要问题。

其次,您的标签没有文件所有者,您需要将其提供为 ViewControllerDays(或添加它的ViewController)。希望你理解我的观点。

此类不符合密钥值,因此密钥错误已在此link中得到解答。

答案 3 :(得分:0)

问题是

daysCountDaysLabel

在项目中找到它并检查插座/设置文本