2013-04-21 1 views
0

Я получаю такую ​​же проблему, как человек, который задал этот вопрос:?Как я могу это исправить при использовании раскадровки, а не перо ?: Getting «этот класс не является значением ключа кодирования-совместимый"

Interface builder problem: When hooking up an IBOutlet, getting "this class is not key value coding-compliant for the key"

Моя проблема, я использую Xcode 4 и раскадровки, вместо Interface Builder и наконечниками. что я могу сделать, когда у меня есть такая же проблема?

я могу загрузить любые файлы, формировать свой проект, нужны, но это почти то же самое, что и файлы из вопроса выше.

+1

Проверьте личность вашего ViewController в инспекторе идентификации. (опция + команда + 3 после выбора viewController в раскадровке). Если имя вашего диспетчера viewController является MyViewController, убедитесь, что идентификатор - это сам MyViewController, а не UIViewController. – Anupdas

+0

Он по-прежнему бросает ошибку, когда я сделал то, что вы сказали. Должен ли я установить идентификатор раскадровки, идентификатор восстановления или оба? Раньше у него ничего не было. – Cin316

ответ

5

Решение такое же, некоторая конфигурация вашего раскадровки неверна. Xcode теперь содержит Interface Builder, а раскадровка - это просто большой NIB (XIB), поэтому ваша ситуация идентична. Проверьте все имена классов в раскадровке и если какое-либо из видов подключено к имени розетки, которое больше не существует (если вы редактировали какие-либо имена).

+0

Я сделал то, что вы сказали, но я все еще получаю ошибки. Что еще я должен попробовать? – Cin316

0

Я исправил свою проблему!

Посмотрите на второй ответ здесь: Can't seem to get rid of key value coding-compliant error.

Я обнаружил, что некоторые из моих объектов имели дополнительные выходы. Вы можете найти объекты, щелкнув правой кнопкой мыши по ним. Нажмите небольшое «x», чтобы удалить дополнительные выходы. Эта ошибка произойдет, если вы переименуете розетку, не удаляя ее в файле и раскадровке, и не воссоздаете ее.

0

В моем случае проблема была вызвана тем, что я изменил пользовательские ячейки на раскадровке. Какая бы ни была причина, независимо от того, сколько раз я очищал или перезагружал симулятор, это не сработало. Поэтому я удалил пользовательское имя класса на Storyboards, поэтому это будет UITableViewCell (это то, что я получаю в любом случае). Убрал, удалил приложение из симулятора, снова запустил его и сделал сбой.

После этого я вернулся к раскадровки, снова установил имя пользовательского класса в UITableViewCell, а затем запустил его, и он сработал.

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

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