Загрузите XIB, этот класс не соответствует значению ключа для ключа - PullRequest
0 голосов
/ 27 июня 2018

Я просто создаю пользовательский UIView с именем PopupViewForViewMoreDetail, и я хочу добавить этот пользовательский вид в мой ViewController , но каждый раз, когда появляется ошибка ниже

Завершение работы приложения из-за необработанного исключения «NSUnknownKeyException», причина: «[<0x7f8155f2e430> setValue: forUndefinedKey:]: этот класс не соответствует значению ключа, соответствующему кодированию для ключа mainView. '

если я удаляю IBOutlet из mainView , тогда будет отображаться ошибка для другой переменной.

Ниже мой код

import UIKit

class PopupViewForViewMoreDetail: UIView {

    @IBOutlet var darkBGView: UIView!
    @IBOutlet var outerView: UIView!
    @IBOutlet var mainView: UIView!
    @IBOutlet var btnClose: UIButton!

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

и я добавляю это представление в мой класс viewController, как показано ниже.

 let viewMoreDetailPopUp =  Bundle.main.loadNibNamed("PopupViewForViewMoreDetail", owner: self, options: nil)?.first as! PopupViewForViewMoreDetail
        self.view.addSubview(viewMoreDetailPopUp)

Ниже приведен мой скриншот для IBOutlets

enter image description here

Я также проверил ответ ниже, но мне не помогло.

Что это значит? «NSUnknownKeyException, причина:… этот класс не соответствует значению ключа, кодирующему ключ X»

Укажите, где я ошибаюсь в своем коде?

1 Ответ

0 голосов
/ 27 июня 2018

попробуйте это:

шаг 1:

let viewMoreDetailPopUp =  UINib(nibName: "PopupViewForViewMoreDetail", bundle: nil).instantiate(withOwner: self, options: nil).first as! PopupViewForViewMoreDetail

шаг 2: убедитесь, что вы устанавливаете класс для представления вместо владельца файла enter image description here

enter image description here

Шаг 3: Удалите все розетки и повторите розетку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...