objective-c - 核心数据,NSArrayContainer 多个数组的Arraycontent

标签 objective-c cocoa core-data

到目前为止,我的应用程序中有三个实体:标签、提要和故事

标签与提要之间存在一对多关系,提要与故事之间存在一对多关系。

我为每个实体都有一个 NSArrayController、一个命名标签、一个命名提要和一个命名故事。 它们都共享从文件所有者那里获得的相同的“managementObjectContext”。 AC 命名 feeds 的内容集绑定(bind)到 'tags' Controller 键:选择,关键路径:feeds

我希望将第三个数组的内容集绑定(bind)到所选标签中所有提要中的所有故事:我尝试使用关键路径:“@unionOfArrays.stories “但无法让它发挥作用。

知道我该怎么做吗?

最佳答案

首先,您的问题中有一件事与让某些东西正常工作不一致:

They all share the same 'managedObjectContext' which they get from the file's owner

当我在 IB 中设置此功能时,它不起作用。您肯定是说您将 ManagedObjectContext 绑定(bind)到了 App Delegate 的 ManagedObjectContext 上。

假设您想要查看所选标签中的所有故事,以下是您在设置中可能犯的一些错误。

<强>1。检查反向关系

对于您提到的所有关系,您需要为每个关系设置逆关系。

对于一对多标签->提要关系,您将在称为“提要”的标签元素中存在一对多关系,正如您所描述的那样。

您还在 feed 实体中建立了名为“标签”的一对一关系。 您可以选择反向关系作为 Feed,如下所示:

Single Feed Relationship http://img20.imageshack.us/img20/2557/tagsinglefeedrelationsh.jpg

<强>2。连接故事

您没有提及您是如何创建任何故事的。假设您没有在代码中执行任何操作,我将有 4 个数组 Controller :

  1. 标签
  2. 在选定的标签中供稿
  3. 所选 Feed 中的故事
  4. 所选标签中的所有故事

如果您只有一个故事数组 Controller ,其内容集未绑定(bind)到任何内容,那么您将在真空中有效地创建故事 - 它们不会链接到任何提要或标签,这可能就是您的原因重新收到这些错误。

<强>3。设置“选定标签中的故事” Controller

您需要设置内容数组,而不是内容集。

将内容数组绑定(bind)到“Feeds in Selected Tag” Controller 。

  • 键:arrangedObjects
  • 关键路径:@unionOfArrays.stories

这会将关键路径故事发送到“所选标签中的 Feed” Controller 中的每个对象,从而获取所选标签中所有 Feed 中的所有故事。

<强>4。摇滚乐!

我们完成了。如果您真的很难进行此设置,请告诉我,我可以发布我制作的 XIB 文件的链接。

关于objective-c - 核心数据,NSArrayContainer 多个数组的Arraycontent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1052439/

相关文章:

cocoa - NSManagedObject 未保存——谨防反向关系

Cocoa 数据层次结构和浏览器

objective-c - 使用未声明的类型 'XXX',Xcode 7.3,swift 2.2

ios - 在 WKWebView 中屏蔽广告

objective-c - 在 Mac 应用程序沙箱中执行命令?

objective-c - macOS Swift : How to properly add application as Login Item

core-data - 核心数据批量大小

objective-c - 将 KVO 添加到 UITableViewCell

iphone - 如何修复 Receiver in message expression is an uninitialized value warning

objective-c - 不同部分中的 UITableViewCell 附件复选标记