我有一个带有主要故事板和主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个左右的类似(并已解决!)帖子的解决方案而没有为我工作。
我尝试过的事情:
我已将项目压缩并放在此处以防万一有人可以识别并解决问题: http://expirebox.com/download/87ccb8b70612ef3c86a447ff5eb8d728.html
答案 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
在项目中找到它并检查插座/设置文本