绑定和核心数据:实体 xxx 不符合键“(null)”的键值编码
Posted
技术标签:
【中文标题】绑定和核心数据:实体 xxx 不符合键“(null)”的键值编码【英文标题】:Bindings and Core Data: the entity xxx is not key value coding-compliant for the key "(null)" 【发布时间】:2016-07-05 13:27:10 【问题描述】:我构建了一个小应用程序来了解 macOS 编程。我有几个表格视图,其中一些有NSPopUpButtonCell
。
那些NSPopUpButtonCells
随机导致崩溃
2016-07-05 14:45:10.331 TrainingplanMac[94732:35004946] [<TrainingplanMac.Workout 0x6180000a6de0> valueForUndefinedKey:]: the entity Workout is not key value coding-compliant for the key "(null)".
2016-07-05 14:45:10.334 TrainingplanMac[94732:35004946] (
0 CoreFoundation 0x00007fffa050b4f2 __exceptionPreprocess + 178
1 libobjc.A.dylib 0x00007fff9a51973c objc_exception_throw + 48
2 CoreFoundation 0x00007fffa050b439 -[NSException raise] + 9
3 CoreData 0x00007fff9ebddd91 -[NSManagedObject valueForUndefinedKey:] + 289
4 AppKit 0x00007fff98d14ed5 -[_NSPopUpButtonPlugin showValue:inObject:] + 734
如果我触摸了情节提要,错误会随机发生。如果我不触摸情节提要,我可以根据自己的喜好经常重建项目,而不会出现错误。如果出现错误,我会在情节提要中摆弄一些设置,经过几次重建后它就消失了。此外,并非每次都是同一个实体导致错误。每个NSPopupButtonCell
都有一个它显示的其他实体,并且每个按钮/实体都会随机发生错误。
这很令人沮丧,因为每次我想尝试新的东西时,我都必须构建/运行/fiddle/build/run/fiddle...直到应用程序运行为止。
不知道还有哪些其他信息可能会有所帮助。由于没有足够的声誉,我无法嵌入图片。很抱歉。
[编辑]
我在一个小项目中从头开始重现了这个问题。我在此处提供了该项目:[项目已删除,因为不再需要它]。我想我已经按照 Apple 的 Binding Guide 做了所有事情,但是...... :)
由于“只有 2 个链接限制”,删除了图片链接。
【问题讨论】:
您的单元格绑定图像似乎与表格绑定图像相同。 他们不是。这非常具有误导性 - 我必须检查两次才能确定 :) 我认为如果我能够嵌入它们会更清楚 - 抱歉。 啊,是的。我想你可能需要澄清你所说的“细胞”是什么意思。不是通过 objectValue 绑定表格单元格,而是单元格内的弹出绑定? 澄清了这一点。至少我希望我做到了:) 如果表格视图是基于单元格的,则不必绑定内容、选择索引和排序描述符。 【参考方案1】:如果表格视图是基于单元格的,则不必绑定内容、选择索引和排序描述符。
来自 NSTableView Bindings 的文档:
通常,在进行初始 NSTableColumn 绑定时会自动创建内容绑定,绑定到列的 NSArrayController。
【讨论】:
以上是关于绑定和核心数据:实体 xxx 不符合键“(null)”的键值编码的主要内容,如果未能解决你的问题,请参考以下文章