是的,有几个关于这个问题的帖子,但这些似乎都没有回答我的问题?
我在 nib 文件中创建了一个自定义视图并将其连接到代码,就像这里一样:
只有区别:
- 我的课程名为 EditorSectionView 而不是 CustomView
- 我的出口名称是 customView,而不是 contentView
除了代码之外,我还按照要点中的说明进行了以下操作:
- 在 Interface-Builder 中,单击“文件所有者”并使文件所有者的自定义类“EditorSectionView”,而不是视图本身
- 通过辅助编辑器将顶层视图(Interface Builder 中的“自定义视图”命名项)拖放到 EditorSectionView 以创建名为 customView 的出口。
每当我启动应用程序并单击应使用此自定义视图的按钮时,它都会因错误而崩溃:
“此类与键 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,不仅将 File's Owner 自定义类设置为 EditorSectionView,它不会再因“不符合键 XY 的编码”而崩溃,但它会因 EXC_BAD_ACCESS 在我的行上崩溃我正在调用 loadNibNamed()。
我在这里找到了答案,我不应该为顶级视图设置自定义类,这将再次导致“不符合编码”。所以无论哪种方式它仍然不起作用......