Cocoa:核心数据关系不起作用

标签 cocoa core-data entity-relationship

我有一个像这样的基本核心数据模型:

类别

-类名称(字符串)

关系:HasDetails(对多个) - 到详细信息

详情

-数字(整数)

-名称(字符串)

关系:IsPartOfClass - 到类

我有两个 TableView ,一个用于“类”,一个用于“详细信息”,并且设置了所有绑定(bind),但是,当我将新对象添加到详细信息时,它会在我需要时显示所有类仅显示一个,即所选的一个

最佳答案

这里缺少很多信息,并且您对实体的描述令人困惑。我强烈建议您将来花时间提供更多详细信息。

听起来好像您有一个类<---->>详细信息(一对多关系:一个类有许多详细信息,一个详细信息有一个类)。是这样吗?

假设类的详细信息关系称为“详细信息”,详细信息的类关系称为“类”,并且所有内容都在托管对象模型中正确设置(反向关系几乎总是正确的做法),那么您想要以下内容:

  1. 设置为实体模式的“类”数组 Controller ,实体名称设置为“类”。 ManagedObjectContext 也需要绑定(bind)。您的类(class) TableView 将与此绑定(bind)。
  2. “详细信息”数组 Controller ,也设置为实体模式,实体名称为“详细信息”。您将其“contentSet”绑定(bind)到类数组 Controller 的“selection.details”。这将仅向您的详细信息数组 Controller 提供所选类的详细信息。 ManagedObjectContext 也需要绑定(bind)。您的详细信息 TableView 将与此绑定(bind)。

通过执行此操作,调用详细信息数组 Controller 的 -add: -insert: 和 -delete:(或者是“-remove:”?)方法(例如从按钮)将自动正确处理关系(将添加新的“Detail”实例添加到所选“Class”实例的详细信息集中。

确保将添加/插入/删除按钮的启用状态绑定(bind)到数组 Controller 的“canAdd”和“canRemove”(或者是“canDelete”?)属性,以便在所需的选项中没有选择时禁用它们地点。

关于Cocoa:核心数据关系不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258978/

相关文章:

iphone - 网络推送通知

python - 我可以在没有 GUI 的情况下使用 OS X 10.8 的语音识别/听写吗?

ios - 通过核心数据查询最大值、最小值和其他

php - Laravel Eloquent Relationship 自定义查询

core-data - 我该如何解决该错误:实体GroceryItems不兼容键 “hasLocations”的键值编码

cocoa - 将 PNG 图像转换为可以通过 NSSockets 发送的数据

swift - cocoa swift : Subview not resizing with superview

iphone - 核心数据还是 ASIHTTPRequest 缓存?

ios - swift : How to avoid duplicate entries in CoreData for implementation with JSON array?

java - @ManyToOne 映射无法保存父 ID