2015-06-30 5 views
0

Я очень новичок в быстром, и я занимаюсь курсом Стэнфорда в iTunes U. Я отлично слежу, но я столкнулся с ошибкой, что я не могу понять:Swift NSUnknownKeyException - setValue: forUndefinedKey

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

В файле Main.storyboard у вас есть выход для реферирования установлен на кнопку называется «Enter» для переменной IBOutlet называется enter, что, кажется, давно уже существует в классе ViewController. Чтобы исправить это, объявите эту переменную в ViewController или удалите ссылку на нее из построителя интерфейса.

@IBOutlet weak var enter: UIButton! 

Аналогично, IBAction, к которому подключен ваш кнопка Enter является enter:, но ваш метод IBAction называется enter (без двоеточия). Вы должны изменить его, чтобы включить параметр, который отображает имя селектора, которое включает двоеточие.

@IBAction fun enter(sender: AnyObject?) {} 

И, было бы лучше не использовать простое имя как enter либо для IBOutlet или IBAction, и, конечно, не так. Что-то вроде enterButton для IBOutlet и enterPressed: для IBAction было бы более уместным и предотвращало путаницу или конфликт имен.

Если вы щелкните правой кнопкой мыши на вашем объекте ViewController в Interface Builder, вы можете увидеть, что Xcode пытается предупредить вас об этих проблемах с желтыми значками предупреждения:

enter image description here