0

设置:

核心数据模型

  • 产品实体

    • 属性“名称”
    • 关系“共同”<---> CommonData
  • 公共数据实体

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

查看设置:

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

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

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

问题:

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

1 回答 1

0

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

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

于 2011-07-27T09:46:29.570 回答