2016-01-13 80 views
-1

以下是错误:迅速:NSUnknownException故事板问题

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


基本上我有许多连接和UITextFields作为UISegmentedControls在我的文件网点。当视图打开时它立即崩溃。我已经在互联网上寻找能够解决我的问题的东西,但我似乎无法弄清楚。下面显示了所有网点以及它们在代码中的声明方式。

enter image description here

@IBOutlet var questionType: UISegmentedControl! 
@IBOutlet var required: UISegmentedControl! 

@IBOutlet var questionTitleInput: UITextField! 
@IBOutlet var questionHint: UITextField! 


@IBOutlet var questionTitleMulti: UITextField! 
@IBOutlet var numAnswers: UISegmentedControl! 
@IBOutlet var answerOne: UITextField! 
@IBOutlet var answerTwo: UITextField! 
@IBOutlet var answerThree: UITextField! 
@IBOutlet var answerFour: UITextField! 

我还可以使用在我需要给你解决这个问题有什么信息一定的指导意义。这对我来说真的没有意义。

+0

这些都是在应用程序中使用“answerFour”吗?你确定它是一个UITextField,那么这个类中的类是你复制这些类的类,这个类是编译的吗? – Jonah

+0

我想它是抛出“answerFour”,因为它是列表中的第一个。我想他们都会有同样的问题。我使用了故事板,所以我按照惯例的ctrl +拖动来在我的swift文件中声明出口。 – Malexc

+0

不用猜! ;)这是一个很好的假设,但我无法告诉你它是否正确。我们来测试一下。如果你删除了'answerFour'绑定,它会在'answerOne'上崩溃吗?如果是这样,仔细看看哪个班级报告了这个错误。这可能是文件的这个笔尖的所有者只是一个基本的'UIViewController',而不是您想要实例化哪些具有这些插口定义的更具体的子类。 – Jonah

回答

0

这可能是应用程序崩溃,因为 -

你可能已经删除了代码,您拖出故事板作为出口较早的变量。现在这个变量已经消失了,但Main.storyboard中的Connections Inspector仍然有这个参考,因此在启动时设置了插座时,Main.Storyboard无法在相应的视图控制器类中找到Connection的插座。

解决方法 - 退后一步,考虑已删除的变量并从Connections检查器中删除其引用。

希望有所帮助。

+0

正如您在我张贴的图片中看到的,1个插座对应1个TextField或1个SegControl。没有任何额外的插座需要删除。我最终可能会删除我创建的所有内容,并从头开始,看看会发生什么。 – Malexc