2016-01-13 2 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, что класс в nib - это класс, который вы копировали из этих точек, из которых этот класс компилируется? – Jonah

+0

Я предполагаю, что он бросает «answerFour», потому что он первый в списке. Я думаю, у всех из них будет такая же проблема. Я использовал раскадровку, поэтому я сделал обычное ctrl + drag, чтобы объявить выходы в моем быстром файле. – Malexc

+0

Не угадай! ;) Это хорошая гипотеза, но я не могу сказать вам, правильно ли это. Давайте проверим это. Если вы удаляете привязку 'answerFour', она падает на' answerOne'? Если да, внимательно посмотрите, какой класс сообщает об этой ошибке. Возможно, владелец файла для этого nib является базовым 'UIViewController', а не более конкретным подклассом, который вы хотели бы создать, который определил эти точки. – Jonah

ответ

0

Вполне возможно, что приложение рушится, потому что -

Вы, возможно, удалили переменную в код, который вы вытащили из раскадровки как отдушина ранее. Теперь эта переменная исчезла, но инспектор подключений в Main.storyboard все еще ссылается на это, поэтому во время запуска, когда устанавливаются розетки, Main.Storyboard не может найти выход для этого соединения в соответствующем классе контроллера вида.

Решение. Сделайте шаг назад, подумайте об удаленной переменной и удалите ее ссылку из инспектора подключений.

Надеюсь, что это поможет.

+0

Как вы можете видеть на картинке, которую я опубликовал, 1 выход соответствует 1 TextField или 1 SegControl. Нет никаких дополнительных выходов, которые нужно удалить. Я, вероятно, в конечном итоге удалю все, что я создал, и начну с нуля, и посмотрю, что произойдет. – Malexc

Смежные вопросы