2016-11-26 3 views
0

Да, есть несколько сообщений об этой проблеме, но ни один из них, похоже, не отвечает на мою проблему?Этот класс не является ключевым значением, совместимым с кодировкой swift

Я создал настраиваемое представление в файле бобах и подключили его к коду, так же, как здесь:

Link

только различия:

  1. Мой класс назван EditorSectionView не CustomView
  2. Имя моей розетки customView, а не contentView

Помимо кода, я сделал следующее, как описано в сущности:

  1. В Interface-Builder, нажмите на «File владелице» и сделать владелец файла в пользовательском класс «EditorSectionView», а не сам вид
  2. Перетащите верхний уровень («Пользовательский вид» с именем элемента из Interface Builder) в редактор EditorSectionView через редактор помощи, чтобы создать выход с именем customView.

Всякий раз, когда я запустить приложение и нажать на кнопку, которая должна использовать этот пользовательский вид, он выходит из строя с ошибкой:

«Этот класс не является значением ключа кодирования совместимый для ключа customView».

Однако, когда я смотрю на инспектора соединений, в моем файле ниба нет «!». как и некоторые другие сообщения, и все кажется прекрасным.

Я использую файл острие так, чтобы создать его экземпляр:

form +++ Section(field.name) { 
    let header = HeaderFooterView<EditorSectionView>(.nibFile(name: "EditorSectionView", bundle: nil)) 
} 

Это должно создать новую форму раздел Eureka, как описано здесь: https://github.com/xmartlabs/Eureka/blob/master/README.md (Поиск «Вы можете использовать пользовательский вид из .xib: "в readme).

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

Что я здесь делаю неправильно?

Спасибо.

EDIT:

Если я установить пользовательский класс в инспекторе идентичности, а также для EditorSectionView, а не только сам файл Владелец пользовательского класс в EditorSectionView, он не откажет больше с «не кодированием уступчивым ключа XY «но он сбой с EXC_BAD_ACCESS в строке, на которую я вызываю loadNibNamed().

Я нашел here ответ, что я не должен устанавливать пользовательский класс для представления верхнего уровня, что опять-таки приведет к «некорректному кодированию». Так что в любом случае это все еще не работает ...

ответ

1

Сложно сказать, не видя, что ваши соединения находятся в инспекторе Xcode, но иногда, если вы подключаете розетку и затем переименовываете ее в свой код, эта розетка все еще связана со старым именем, и вы получаете ключ-значение вопрос соблюдения

мест для поиска находятся в «Пользовательские атрибуты таблицы вашей идентичности/инспектор ..

enter image description here

А также проверить соединения инспектор

+0

Ну, спасибо для вашего ответа, но это действительно не помогает. Вчера я долго обсуждал сайт http://chat.stackoverflow.com/rooms/15942/nschat и ничего не описывал. Я не переименовал ничего после создания выходного соединения, нет ошибок, отображаемых в инспекторе соединений, как я писал в своем посте и т. Д. Любые разные идеи? Я просто делаю nib-файл и хочу подключить его к коду! – Shiuyin

+0

Ну, теперь мой код не сбой с «не совместимым с кодировкой», но с EXC_BAD_ACCESS в строке, где я вызываю loadNibNamed() ... – Shiuyin

+0

вы можете поделиться обратным трассировкой EXC_BAD_ACCESS с консоли? .. Если вы не можете поделиться ваш проект? – stone

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

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