Да, есть несколько сообщений об этой проблеме, но ни один из них, похоже, не отвечает на мою проблему?Этот класс не является ключевым значением, совместимым с кодировкой swift
Я создал настраиваемое представление в файле бобах и подключили его к коду, так же, как здесь:
только различия:
- Мой класс назван EditorSectionView не CustomView
- Имя моей розетки customView, а не contentView
Помимо кода, я сделал следующее, как описано в сущности:
- В Interface-Builder, нажмите на «File владелице» и сделать владелец файла в пользовательском класс «EditorSectionView», а не сам вид
- Перетащите верхний уровень («Пользовательский вид» с именем элемента из 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 ответ, что я не должен устанавливать пользовательский класс для представления верхнего уровня, что опять-таки приведет к «некорректному кодированию». Так что в любом случае это все еще не работает ...
Ну, спасибо для вашего ответа, но это действительно не помогает. Вчера я долго обсуждал сайт http://chat.stackoverflow.com/rooms/15942/nschat и ничего не описывал. Я не переименовал ничего после создания выходного соединения, нет ошибок, отображаемых в инспекторе соединений, как я писал в своем посте и т. Д. Любые разные идеи? Я просто делаю nib-файл и хочу подключить его к коду! – Shiuyin
Ну, теперь мой код не сбой с «не совместимым с кодировкой», но с EXC_BAD_ACCESS в строке, где я вызываю loadNibNamed() ... – Shiuyin
вы можете поделиться обратным трассировкой EXC_BAD_ACCESS с консоли? .. Если вы не можете поделиться ваш проект? – stone