Swift此类与键的键值编码不兼容错误

aiazj4mn  于 2023-01-25  发布在  Swift
关注(0)|答案(7)|浏览(99)

由于未捕获的异常,终止应用程序时出错

'NSUnknownKeyException', reason: '[<KGM_IOS.NotEkle 0x7fcb5ee0cd40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key notEkleTextView.'.

我有一个名为"notEkle"的XIB,在"notEkle"中有UITextView,XIB提供程序是ViewController。当我将此文本与控制器连接时,出现此错误。我将XIB加载到控制器中,如下所示

let notEkleView: UIView =  NotEkle().loadNib() as UIView

我将文本视图与控制器连接,如

@IBOutlet weak var notEkleTextView: UITextView!

在连接UITextview和控制器之前我没有任何问题。
一个三个三个一个

tp5buhyn

tp5buhyn1#

定义XIB并以编程方式使用它有几个步骤。
1.首先,您需要创建XIB文件和Swift文件具有相同的名称。
1.根据需要进行设计,然后将文件的所有者挂接为您在步骤1中定义的类名。
1.您需要定义一个公共的初始化方法并重写两个初始化方法(使用frame和coder)。
1.将XIB中的整个视图连接为Swift类中的IBOutlet。
1.如下所示实现公共初始化式:

private func commonInitializer() {
    Bundle.main.loadNibNamed("testView", owner:self, options: nil)
    addSubview(contentView)
    contentView.frame = self.bounds
    contentView.autoresizingMask = [.flexibleHeight,.flexibleWidth]
}

1.最后,您可以将UIView拖到任何地方,并将其类设置为这个自定义类。
有关详细信息,请查看本教程here

31moq8wy

31moq8wy2#

一切对我来说都是正确的,但我仍然得到这个错误,然后我解决了它

  • 在身份检查器中启用“从目标继承模块”。或
  • 从“自定义类”下的“身份检查器”中给出它所在的模块(通常为文件夹名称/组名称
j2datikz

j2datikz3#

此类与键的键值编码不兼容:

当插座未正确从故事板连接到视图控制器时,会发生这种情况。

o0lyfsai

o0lyfsai4#

就在声明fo class connect outlet之后,将其从xib文件拖到类(所有者)中,它应该如下所示:

@IBOutlet weak var notEkleTextView: UITextView!

在你的情况下,它不工作,这意味着你已经给了一些其他的类
您的视图控制器可能在您的xib中有错误的类。检查文件所有者,并在VC中检查文件检查器,如果类已经正确分配

9jyewag0

9jyewag05#

请确保以下事项:
1.在xib中,将视图的Base Class设置为NotEkle。
1.示例化如下:let notEkleView = NotEkle().loadNib() as! NotEkle

roqulrg3

roqulrg36#

确保在init函数

中输入了正确的“nibName”

init(pages : [Page],holder : UIView) {
    self.pages = pages
    self.holder = holder
    super.init(nibName: "PagerViewNew", bundle: nil)
}

我用“页面视图”代替了“新页面视图”

ewm0tg9j

ewm0tg9j7#

我重建了我的项目,并添加了故事板在我得到了,得到了这个错误。我通过选择模块到正确的项目解决了它。故事板〉视图控制器〉身份检查器〉模块

相关问题