CoreData在绑定到NSArrayController时创建关系



设置:

CoreData模型
    产品实体
    • 属性>"name"<
    • 关系/strong>"共同"& lt;——> CommonData
  • CommonData实体
      属性>"product_id"
    • 关系 "产品" <-->产品实体

视图设置:

    我有一个NSTableView来显示产品实体它被绑定到一个NSArrayController
  • 有两个按钮"+"one_answers"-"绑定到add:remove:各自的NSArrayController的动作。
  • 有一个绑定到selection.common内容对象的NSObject控制器,有一个绑定到NSObjectController的NSTextView。

在Cocoa文档中,它指出,在这种情况下,分配产品实体时不会自动创建关系实体。当我点击"+"按钮时,我可以看到这种行为。产品被添加到NSTableView中,但是NSTextView显示"No Context"。而且,如果我在代码中创建productcommon实体,我可以看到NSTextView正确显示*product_id*。

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

<标题>:
  • 是否有办法检测新产品实体已经创建?
  • 当通过按钮动作创建新产品实体时,添加关系实体的最佳方式是什么?

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

在任何情况下,我认为做一些新的CommonData对象的"检测"将是一种过度的方式,在这种情况下

相关内容

  • 没有找到相关文章

最新更新