Xcode создает двоичные файлы на основе старых состояний проекта - PullRequest
1 голос
/ 13 декабря 2011

Xcode (4.2.1) создает двоичные файлы на основе старых состояний проекта. Например: я объявил и использовал свойство "myProperty" в прошлом. Но позже я удалил это свойство и удалил весь код, который использовал это свойство. Когда я собираю и запускаю приложение, происходит сбой, говоря: «MyClass не соответствует значению ключа, соответствующему кодированию для ключа myProperty». Подобные вещи появились в прошлом, а не только с кодом. Я заменил файл изображения в моем проекте другим изображением с тем же именем. В папке проекта был определенно новый файл изображения. Однако после сборки и запуска все равно отображается старое изображение. Что я уже пробовал: просто построить, а затем запустить; закрыть и вновь открыть проект; закройте и перезапустите Xcode; перезагрузите Mac. Есть предложения?

Извините. Свойство все еще существовало как ссылки в xib. Это была проблема.

1 Ответ

2 голосов
/ 13 декабря 2011

Просто чтобы уточнить: Это, наверное, один из наиболее часто задаваемых вопросов!Когда вы видите, что «MyClass не соответствует кодовому значению ключа для ключа myProperty» при запуске, это подсказывает вам, что у вас есть выход с именем «myProperty» в вашем файле пера.Хорошо, это не очень хорошее сообщение об ошибке, но вам просто нужно понять, что это значит.Это означает, что поскольку при запуске приложения и загрузке пера механизм загрузки пира пытается сопоставить это имя с реальной переменной экземпляра или средствами доступа в живом экземпляре, используя кодирование значения ключа, оно не находит его, и вы получаете этот сбойи это сообщение.

Иногда это происходит потому, что вы сформировали розетку, а затем изменили свой код.

Иногда это происходит из-за того, что объект-владелец является неправильным классом, как в Этот классне соответствует кодировке значения ключа или Что это значит?«NSUnknownKeyException, причина:… этот класс не соответствует значению ключа, соответствующему кодированию для ключа X»

(Если вы действительно действительно думаете, что XCode создает двоичный файл на основе старого состоянияПроект, очистите цель полностью в соответствии с моими инструкциями здесь: Как очистить кэш и очистить все цели XCode 4 )

...