Что это значит? "NSUnknownKeyException", причина:... этот класс не является ключевым значением, совместимым с кодировкой для ключа X "

Я пытаюсь связать UILabel с IBOutlet, созданным в моем классе.

Мое приложение разбивается со следующей ошибкой. Что это значит? Как я могу это исправить?

*** Завершение приложения из-за неперехваченного исключения "NSUnknownKeyException", причина: "[< UIViewController 0x6e36ae0 > setValue: forUndefinedKey:]: этот класс не соответствует требованиям к ключевым словам для ключа XXX. '

1049
21 июня '10 в 22:57
источник поделиться
66 ответов
  • 1
  • 2
  • 3

Моя проблема началась после того, как я изменил имя Target.

В моих собственных пользовательских классах интерфейса имя модуля было установлено на старое имя цели.

Я изменил имя цели на новый, и теперь он отлично работает.

0
19 июля '17 в 8:24
источник

Связанные вопросы


Похожие вопросы

Я сталкиваюсь с тем же журналом ошибок при работе с моей ячейкой tableview. Я обнаружил, что мои UILabels дублируют реферирующие точки (вы можете проверить это в контролере) как владельцу файла, так и классу ячеек. Все становится хорошо, когда я удаляю ссылку на владельца файла.

0
04 сент. '13 в 9:28
источник

Я решил эту проблему, выполнив 2 вещи:

  1. Исправлена ссылка на класс просмотра:

pMnUn.jpg

  1. Повторно импортированы все магазины:

MhUjr.jpg

0
27 янв. '19 в 8:50
источник

Обычно, когда это происходит со мной, ответ @TechZen делает трюк. Вчера, однако, я смущающе долгое время трахался с подключением к раскадровке, чтобы обнаружить, что проблема была в моем коде.

У меня есть настраиваемый контроллер представлений, который обрабатывает различные макеты в моем раскадровке, но для одного из макетов нужна специальная метка, не используемая другими. Поэтому я создал подкласс следующим образом:

@interface MyViewControllerSubclass : MyViewController

Затем я добавил частную собственность в MyViewControllerSubclass.m:

@interface MyViewController ()
@property (weak, nonatomic) IBOutlet UILabel *crashesApp;
@end

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

Решение, полуочевидное ретроспективно, состояло в том, чтобы изменить частную категорию, чтобы использовать правильное имя, то есть подкласс:

@interface MyViewControllerSubclass ()
@property (weak, nonatomic) IBOutlet UILabel *noMoreCrashing;
@end
0
25 авг. '12 в 19:44
источник

В моем случае я добавил ViewController в раскадровку, но я не назначил ему Storyboard ID в конструкторе. Как только я дал ему удостоверение личности, это сработало.

используя Xamarin/Visual Studio 2015.

0
16 февр. '18 в 20:38
источник

Просто обратите внимание, если вы пытаетесь наблюдать значение, которого не существует.

Это произошло со мной просто, когда я наблюдал свойство "Текст" текстового поля, когда вместо этого я должен был наблюдать свойство "text".

0
14 окт. '16 в 2:52
источник
  • 1
  • 2
  • 3

Посмотрите другие вопросы по меткам или Задайте вопрос