【问题标题】:CoreData create relationship when binding to NSArrayControllerCoreData 绑定到 NSArrayController 时创建关系
【发布时间】:2011-07-27 03:52:29
【问题描述】:

设置:

CoreData 模型

  • 产品实体

    • 属性“名称”
    • 关系 “共同” CommonData
  • CommonData 实体

    • 属性“product_id”
    • 关系“产品”产品实体

查看设置:

  • 我有一个 NSTableView 来显示产品实体,它绑定到一个 NSArrayController
  • 有两个按钮“+”和“-”绑定到 add:remove: 到 NSArrayController 的相应操作。
  • 有一个 NSObject 控制器绑定到 selection.common 内容对象,一个 NSTextView 绑定到 NSObjectController。

在 Cocoa 文档中,它声明在分配产品实体时不会自动创建关系实体。当我单击“+”按钮时,我可以看到这种行为。产品已添加到 NSTableView,但 NSTextView 显示“无上下文”。而且,如果我在代码中创建 productcommon 实体,我可以看到 NSTextView 正确显示 *product_id*。

我希望能够将按钮绑定到 NSArrayController。

问题:

  • 有什么方法可以检测到新产品实体已经创建了吗?
  • 当通过按钮操作创建新产品实体时,添加关系实体的最佳方式是什么?

【问题讨论】:

    标签: objective-c cocoa core-data xcode4 uibuilder


    【解决方案1】:

    在这种情况下,我认为仅仅做add: 就足够了。您应该将 Add 按钮链接到一个新的操作方法,并且在此操作方法中您应该创建一个 Product 对象和一个 CommonData 对象,然后将前者的“common”设置为后者。至少我会这样做。

    无论如何,我认为在这种情况下,对新的 CommonData 对象进行一些“检测”将是一种矫枉过正的方式。

    【讨论】:

      猜你喜欢
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多