这个类不是符合键值编码的swift

时间:2016-11-26 20:32:32

标签: swift nib eureka-forms

是的,有几个关于这个问题的帖子,但这些似乎都没有回答我的问题?

我在nib文件中创建了一个自定义视图,并将其连接到代码,就像这里一样:

Link

只有差异:

  1. 我的类名为EditorSectionView而非CustomView
  2. 我的商店名称是customView,而不是contentView
  3. 除了代码之外,我做了以下内容,如要点:

    中所述
    1. 在Interface-Builder中,单击“文件所有者”并使文件所有者的自定义类“EditorSectionView”,而不是视图本身
    2. 通过“协助编辑器”将顶级视图(“界面构建器”中的“自定义视图”命名项)拖放到EditorSectionView,以创建名为customView的插座。
    3. 每当我启动应用程序并单击应该使用此自定义视图的按钮时,它会因错误而崩溃:

      “此类与密钥customView不符合键值编码”。

      但是,当我查看连接检查器时,在我的nib文件中,没有“!”像其他一些帖子所指出的那样,似乎一切都很好。

      我正在使用这样的nib文件来实例化它:

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

      这应该在Eureka中创建一个新的表单部分,如下所述:https://github.com/xmartlabs/Eureka/blob/master/README.md(在自述文件中搜索“您可以使用.xib文件中的自定义视图:”。)

      我已经尝试解决这个问题一小时了,但我不知道还能做什么。设置所有连接(插座,UI的类),从gist中复制的代码本身等。

      我在这里做错了什么?

      感谢。

      编辑:

      如果我在身份检查器中设置自定义类以及EditorSectionView,不仅将文件所有者自定义类设置为EditorSectionView,它也不会因为“不符合关键XY的编码”而崩溃,但它在EXC_BAD_ACCESS上崩溃了我正在调用loadNibNamed()。

      我找到了here答案,我不应该为顶级视图设置自定义类,这将再次导致“不符合编码”。无论哪种方式,它仍然无效......

1 个答案:

答案 0 :(得分:1)

如果没有看到Xcode检查器中的连接,很难分辨,但有时如果连接插座然后在代码中重命名,那么该插座仍然与旧名称相关联,并且您获得了键值合规性问题

要查看的地方位于您的身份/检查员的&#34;用户定义属性表中。

enter image description here

并检查您的连接检查员