этот класс не совместим со значением ключа для представления ключа [дубликат]

This question already has an answer here:

What does this mean? “'NSUnknownKeyException', reason: … this class is not key value coding-compliant for the key X” 66 answers

я очень плохо знаком с xcode ... a сделал приложение (простой калькулятор) довольно неплохо работает (на симуляторе и устройстве). Когда я устанавливаю основной интерфейс вsummary варианты изTarget, я получаю следующую ошибку при запуске симулятора:

2012-04-14 12:17:27.123 CalcTest[27550:f803] * Terminating app due to uncaught exception 'NSUnknownKeyException',

reason: '[<UIApplication 0x6a14650> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key calculatorScreen.'

* First throw call stack: (0x12db022 0x18f8cd6 0x12daee1 0xcc2022 0xc33f6b 0xc33edb 0xc4ed50 0x53671a 0x12dcdea 0x12467f1 0x53526e 0x536eb7 0x313ce1 0x313ff8 0x31317f 0x322183 0x322c38 0x316634 0x27fcef5 0x12af195 0x1213ff2 0x12128da 0x1211d84 0x1211c9b 0x312c65 0x314626 0x1bad 0x1b15 0x1) terminate called throwing an exception(lldb)

чтобы найти проблему, я начал новый проект, основанный на представлении.

Запустите новый пустой проект на симуляторе - & gt; works,

Но когда я устанавливаю основной интерфейс, ViewController, вsummary -> Сбой симулятора с

2012-04-14 12:11:17.492 crash[27494:f803] * Terminating app due to uncaught exception 'NSUnknownKeyException', reason:

'[<UIApplication 0x6a6f4b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.' * First throw call stack:

(0x13c7022 0x1558cd6 0x13c6ee1 0x9bf022 0x930f6b 0x930edb 0x94bd50 0x23371a 0x13c8dea 0x13327f1 0x23226e 0x233eb7 0x10ce1 0x10ff8 0x1017f 0x1f183 0x1fc38 0x13634 0x12b1ef5 0x139b195 0x12ffff2 0x12fe8da 0x12fdd84 0x12fdc9b 0xfc65 0x11626 0x1d4d 0x1cb5) terminate called throwing an exception

есть ли решение проблемы?

 GregularExpressions14 апр. 2012 г., 12:33
Когда я видел это раньше, потому что перо все еще имеет ссылку наIBOutlet или жеIBAction который я с тех пор удалил или переименовал. Не уверен, поможет ли это в этом случае.

Ответы на вопрос(7)

выберите «Владелец файла», затем нажмите «Инспектор подключений». (вверху в верхней части правой панели), вы увидите все розетки. Ищите любой знак, как этот (!), Вы найдете его на маленьком кружке, который указывает наmissing outletвсе, что вам нужно сделать, это правильно связать его или удалить розетку.

связанный со свойством (IBOutlet) или методом (IBAction) в контроллере представления, и вы удалили или переименовали свойство или метод, среда выполнения не может его найти. потому что он был переименован и поэтому вылетает.

В вашем случае вы установили для свойства Main Interface проекта значение ViewController.nib. Это проблема, потому что единственные перья, которые должны использоваться в качестве основного интерфейса, должны иметь UIWindows в них, а для владельца файла в этом перо должен быть установлен AppDelegate. Окно UIWindow в кончике должно быть связано со свойством окна Владельца файла (AppDelegate). Поскольку вы устанавливаете это с помощью пера без черт, которые искала среда выполнения, вы получите эту ошибку.

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

 14 апр. 2012 г., 13:13
Способ исправить это - отсоединить его в своем кончике.
 14 апр. 2012 г., 13:28
Хорошо ... позвольте мне попытаться воссоздать вашу проблему.
 14 апр. 2012 г., 13:49
Попался. Вы не должны устанавливать это. Просто оставьте это поле пустым и поместите свой код в ViewController.h / .m / .xib, и все будет хорошо.
 14 апр. 2012 г., 13:31
Что вы имеете в виду в своем вопросе, когда говорите: & quot; установите основной интерфейс (на ViewController) в сводке & quot;
 hugoboss14 апр. 2012 г., 13:45
по умолчанию ViewController.h, m и xib. в итоговой маске проекта вы можете установить цель приложения ios и информацию о развертывании - «Main Storyboard» или «Main Interface». Вы можете выбрать свой интерфейс (ы) в раскрывающемся списке

Перейти к цели => Фазы сборки => Компилировать источники

,

Затем включите «calculatorScreen.m»;

 19 июл. 2014 г., 08:58
Удалите ViewController.m и добавьте еще раз

Пожалуйста, проверьте ваше целевое членство выберите первый вариант. Это может помочь другим

ю метку в файл .h. Так что в моем файле main.storyboard было несколько ссылок на этот ярлык. Как только я удалил старую ссылку, мой код начал работать.

и она была исправлена правыми элементами управления Control-Clicking в xib-файле, чтобы увидеть ссылки на Outlets. Выяснилось, что некоторые элементы управления все еще ссылались на старое имя и вызывали эту ошибку.

Terminating app due to uncaught exception 'NSUnknownKeyException', reason:

& apos; [setValue: forUndefinedKey:]: этот класс не соответствует значению ключа для кода

нажмите кнопку добавления (+) в левом нижнем углу области навигации BreakPoint, выберите «добавить точку прерывания исключения», так как она падает из-за «NSUnknownKeyException», и выберите «все». Запустите программу. Программа останавливается при первом исключении.

Ваш ответ на вопрос