从核心数据和关系开始

Posted

技术标签:

【中文标题】从核心数据和关系开始【英文标题】:Starting out with Core Data and relationships 【发布时间】:2010-09-23 08:07:57 【问题描述】:

我正在尝试构建一个应用程序,它允许用户向第一个实体 (CategoryItem) 添加类别,然后通过第二个实体 (FeedItem) 向该实体添加提要。

到目前为止,CategoryItem 实体具有 *action 属性,该属性用作类别(字符串)的命名。 FeedItem 实体有两个属性,*feedName 和 *feedURL,都是字符串。

我已经编写了所有代码以允许用户在第一个实体中创建一个新类别,但是一旦完成并添加到重新加载的 UITableView 中,我希望允许用户单击将推送的公开按钮一个新的 ViewController,它允许将提要 (FeedItem) 添加到第二个实体。完成后,此提要将添加到适当的第一个实体 (CategoryItem)。

我的问题是如何通过关系将 FeedItem 实体链接到 CategoryItem?那么我该怎么做以上,允许用户单击添加的 CategoryItem 的公开按钮推送一个新的 ViewController,然后允许添加 FeedItem。

这个推送的 ViewController 需要两个输入框和一个按钮(添加起来非常简单),然后将值写入 *feedName 和 *feedURL 属性。

应用程序的其余部分我可以自己完成,例如使用 TouchXML 库解析 RSS 提要。目前,我对在 Objective-C 中操作核心数据的方式有点困惑。

任何帮助将不胜感激!

[编辑:如果有人可以发布任何详细说明此内容的教程/链接,将不胜感激。但是,请不要链接到 ios 资源文档,我已经浏览过很多次了。]

【问题讨论】:

【参考方案1】:

获得您需要的可能的实现是:

    向名为“feeds”的 CategoryItem 添加“To-many”关系; 向 FeedItem 添加名为“类别”的关系; 将“feeds”设置为“category”的反比关系(反之亦然); 每次推送新的“添加 FeedItem”ViewController 时实例化一个新的 FeedItem 托管对象; 按“完成”后保存托管对象上下文。

如果您已经阅读了所有资源文档,则可以研究示例代码,尤其是“Locations”和“CoreDataBooks”。希望这会有所帮助。

【讨论】:

谢谢大家,你们让我把所有事情都委派给了正确的人,我似乎走在了正确的轨道上。但是,您是否可以帮助在推送的 ViewController 中启动新的 FeedItem?

以上是关于从核心数据和关系开始的主要内容,如果未能解决你的问题,请参考以下文章

核心数据关系,如何从关系中插入和检索数据

从具有实体之间关系的核心数据中获取数据[重复]

从核心数据关系中获得最大价值

使用魔法记录从核心数据中获取关系实体

核心数据 - 关系

核心数据和关系谓词