【问题标题】:Simple Core Data application not able to read core data model keys简单的核心数据应用程序无法读取核心数据模型键
【发布时间】:2012-01-06 21:17:41
【问题描述】:

我正在尝试编写一个非常简单的 Core Data OS X 应用程序。

这是我到目前为止所做的:

  1. 创建一个名为PortalMan 的新Core Data 应用程序。这也创建了一个名为 PortalManAppDelegateNSAppDelegate
  2. 转到PortalMan.xcdatamodeld 数据模型并创建一个名为Repo 的新实体,它具有三个属性:activebranchpathactive 是布尔值,另外两个是字符串。
  3. 打开MainMenu.xib的界面编辑器
  4. 将新的NSArrayController 拖到文档空间
  5. NSArrayController 的“属性”选项卡上,将“模式”设置为“实体名称”,并将“实体名称”属性设置为“回购”
  6. 选中“准备内容”框
  7. NSArrayController 的绑定选项卡上,选择托管对象上下文绑定。启用它,并将其绑定到“Portal Man App Delegate”。
  8. 将“模型键路径”设置为“managedObjectContext”。
  9. 将表格视图拖到窗口中
  10. 添加一列,在其“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,这就是它失败的原因。

标签: macos cocoa core-data


【解决方案1】:

我在某些时候不小心选择了“内容数组”绑定。

我删除了该绑定,一切都按我预期的那样完美运行。

谢谢!希望这对其他人有帮助。如果您遇到这样的问题:查看您的 NSArrayController 上的所有绑定!

【讨论】:

    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2020-02-22
    相关资源
    最近更新 更多