此类不符合键值编码的swift
Posted
技术标签:
【中文标题】此类不符合键值编码的swift【英文标题】:This class is not key value coding-compliant swift 【发布时间】:2016-11-26 20:32:31 【问题描述】:是的,有几篇关于这个问题的帖子,但似乎都没有回答我的问题?
我在 nib 文件中创建了一个自定义视图并将其连接到代码,就像这里一样:
Link
只有区别:
-
我的课程名为 EditorSectionView 而不是 CustomView
我的插座名称是 customView,而不是 contentView
除了代码,我做了以下,如要点中所述:
-
在 Interface-Builder 中,单击“File's Owner”并将文件所有者的自定义类设为“EditorSectionView”,而不是 View 本身
通过辅助编辑器将顶层视图(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() 的那一行。
我找到了here 的答案,我不应该为顶层视图设置自定义类,这将再次导致“不符合编码”。所以无论哪种方式它仍然不起作用......
【问题讨论】:
【参考方案1】:如果不查看 Xcode 检查器中的连接是很难判断的,但有时如果您连接一个插座,然后在您的代码中重命名它,该插座仍然与旧名称连接,并且您获得键值合规性问题
查看的地方在“您的身份/检查员的用户定义属性表..
同时检查你的连接检查器
【讨论】:
嗯,谢谢你的回答,但这并没有真正的帮助。昨天我在chat.***.com/rooms/15942/nschat 上进行了长时间的讨论,你所描述的一切都不合适。建立插座连接后我没有重命名任何东西,连接检查器中没有显示错误,正如我在帖子中所写的那样,等等。有什么不同的想法吗?我只是简单地制作一个 nib 文件并想将它连接到代码! 好吧,现在我的代码不会因为“不符合编码”而崩溃,而是在我调用 loadNibNamed() 的那一行出现 EXC_BAD_ACCESS... 你能从控制台分享 EXC_BAD_ACCESS 回溯吗?如果不能,你能分享你的项目吗?以上是关于此类不符合键值编码的swift的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell错误:此类不符合键值编码[重复]
Swift 4 错误:[<UIViewController 0x7ff66ec0ef30> setValue:forUndefinedKey:]:此类不符合键 emailField 的键值