【发布时间】:2012-01-06 21:17:41
【问题描述】:
我正在尝试编写一个非常简单的 Core Data OS X 应用程序。
这是我到目前为止所做的:
- 创建一个名为
PortalMan的新Core Data 应用程序。这也创建了一个名为PortalManAppDelegate的NSAppDelegate。 - 转到
PortalMan.xcdatamodeld数据模型并创建一个名为Repo的新实体,它具有三个属性:active、branch、path。active是布尔值,另外两个是字符串。 - 打开
MainMenu.xib的界面编辑器 - 将新的
NSArrayController拖到文档空间 - 在
NSArrayController的“属性”选项卡上,将“模式”设置为“实体名称”,并将“实体名称”属性设置为“回购” - 选中“准备内容”框
- 在
NSArrayController的绑定选项卡上,选择托管对象上下文绑定。启用它,并将其绑定到“Portal Man App Delegate”。 - 将“模型键路径”设置为“managedObjectContext”。
- 将表格视图拖到窗口中
- 添加一列,在其“Value”绑定中,设置“Bind To: Array Controller”,将“Controller Key”设置为“arrangedObjects”,将“Model Key Path”设置为“branch”
我还添加了一个按钮并将其绑定到数组控制器的add 方法。
当我尝试运行我的应用程序时,我收到此错误:
2012-01-06 16:01:43.650 PortalMan[656:707] An uncaught exception was raised
2012-01-06 16:01:43.651 PortalMan[656:707] [<NSApplication 0x100401750> valueForUndefinedKey:]: this class is not key value coding-compliant for the key branch.
这让我觉得它没有适当地抓取我的核心数据“回购”模型,因为“回购”确实有一个“分支”属性。
对此有什么想法或如何调试它?
谢谢!
【问题讨论】:
-
再次阅读错误信息:repo 可能有分支属性,但应用程序对象没有。您试图获取应用程序对象的分支,而不是 Repo,这就是它失败的原因。