我很快乐,我正在iTunes U上做斯坦福课程。我一直都很好,但我遇到了一个我无法理解的错误:
2015-06-29 18:45:35.080 calculator2[9780:4828233] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<calculator2.ViewController 0x7fae561041b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key enter.'
我已将我的回购上传到github here。
非常感谢任何帮助。
阿玛尔
答案 0 :(得分:0)
在Main.storyboard文件中,您有一个名为&#34的按钮的参考插座;输入&#34;到一个名为enter
的IBOutlet变量,它似乎在ViewController类中存在很长时间。要解决此问题,请在ViewController中声明此变量,或从界面构建器中删除对它的引用。
@IBOutlet weak var enter: UIButton!
同样,您的Enter按钮所连接的IBAction是enter:
,但您的IBAction方法称为enter
(没有冒号)。您应该将其更改为包含一个参数,该参数映射到包含冒号的选择器名称。
@IBAction fun enter( sender: AnyObject? ) {}
而且,对于IBOutlet或IBAction,最好不要使用像enter
这样的简单名称,当然也不能同时使用这两个名称。 IBOutlet的enterButton
和IBAction的enterPressed:
更合适,可以避免混淆或命名冲突。
如果右键单击界面构建器中的ViewController对象,您可以看到Xcode正在尝试用黄色警告图标警告您这些问题: