该类不是键值为重点顺应编码,取消

问题描述:

我不断收到此错误:Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<FoodTracker.MealViewController 0x7faa9ed189d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key cancel.'该类不是键值为重点顺应编码,取消

我试图完成苹果开发者指南开始使用iOS应用。我的代码和故事板看起来和他们在示例文件中所做的完全一样。我希望一个新的眼睛能够看到我不是?

​​

还有一些其他的文件,但请让我知道你需要什么,因为我是很新的雨燕/ Xcode和不知道提供什么/不能提供的。

+0

删除现有的取消IBAction并再次在类中拖放取消动作。因为它不知何故与故事板连接。 –

这意味着你在storyboard上连接了一个名为cancel的IBOutlet,但是你的班级中没有这个IBOutlet。因此,编译器无法在您的课堂中找到密钥cancel。你应该在故事板中找到那个按钮(我认为它是一个UIButton),点击鼠标右键并点击“x”删除该连接。或者你可能想要删除这个按钮。或者您可能需要将此IBOutlet添加到您的班级。

我同意亚历克斯舒宾在他的回答中提到的一个可行的解决方案,比如“寻找任何不存在的连接并删除它们”。我遇到了同样的问题,他的建议修复了这个错误。对于那些刚接触编程和Xcode的人来说,关于如何在故事板中定位x按钮的更多信息可能会有所帮助。

单击故事板中视图控制器顶部的黄色圆圈。

enter image description here

然后显示在公用事业栏的右上角的连接检查。连接检查器是最右边的菜单,是一个带有右箭头的圆圈。点击它,你应该看到该视图控制器的所有连接。

我包含了一个在我的应用中看起来像的屏幕截图。

enter image description here