设置:
CoreData模型
- 产品实体
- 属性>"name"
<- 关系/strong>"共同"& lt;——> CommonData
- 属性>"product_id"
视图设置:
- 我有一个NSTableView来显示产品实体它被绑定到一个NSArrayController
- 有两个按钮"+"one_answers"-"绑定到
add:
和remove:
各自的NSArrayController的动作。 - 有一个绑定到
selection.common
内容对象的NSObject控制器,有一个绑定到NSObjectController的NSTextView。
在Cocoa文档中,它指出,在这种情况下,分配产品实体时不会自动创建关系实体。当我点击"+"按钮时,我可以看到这种行为。产品被添加到NSTableView中,但是NSTextView显示"No Context"。而且,如果我在代码中创建product和common实体,我可以看到NSTextView正确显示*product_id*。
我希望能够将按钮绑定到NSArrayController
<标题>:- 是否有办法检测新产品实体已经创建?
- 当通过按钮动作创建新产品实体时,添加关系实体的最佳方式是什么?
在这种情况下,我不认为仅仅做add:
就足够了。您应该将Add按钮链接到一个新的操作方法,并且在这个操作方法中,您应该创建一个Product对象和一个CommonData对象,然后将前者的"common"设置为后者。至少我是会这么做的。
在任何情况下,我认为做一些新的CommonData对象的"检测"将是一种过度的方式,在这种情况下