CoreData - 建模映射表
Posted
技术标签:
【中文标题】CoreData - 建模映射表【英文标题】:CoreData - Modeling mapping table 【发布时间】:2011-12-17 19:57:31 【问题描述】:我计划使用 CoreData 来为“新闻”ios 应用建模。这将有许多部分(读取一个 UITabBarItem),其中将包含许多文章(在一个 UITableView 中)。这些文章也可能出现在其他部分。此外,每篇文章的排序顺序也是另一个重要因素。
在数据库术语中我有
“文章”表 Sections”表和一个 “Article_Sections”表将文章映射到具有额外排序字段的部分。我已经尝试过,但无法在 CoreData 中对此进行建模。我坚持了一个
“Section”类与 具有多对多关系 “Article”类(与“Section”类具有反向多对多关系)。但是,我不知道如何得出排序顺序。非常感谢任何有关如何执行此操作的提示。提前致谢。
桑迪普
【问题讨论】:
【参考方案1】:我不得不停止考虑数据库来解决这个问题。我的解决方案涉及 2 个类:
文章列表属性: * 列表名称 * 文章编号 * 排序顺序
关系: * 文章 ;一对一
文章属性: * 文章编号 * ....
关系: * 列表 ;一对多
我查询 ArticleList 并在 sortOrder 上排序以获取特定提要/部分的文章列表。然后使用 valueForKeyPath: 获取文章属性(例如标题等)。
【讨论】:
【参考方案2】:我认为您需要删除 section 和 article 之间的直接关系,只需将 Article_Sections 表中的关系返回到 section 和 article 表。
【讨论】:
【参考方案3】:您可以添加实体“ArticleSectionPair”作为“Section”和“Article”之间的中介:
属性“sortValue” “section”与“Section”实体的一对多关系(及其反向“articlePairs”) “文章”与“文章”实体的一对多关系(及其反向“sectionPairs”)使用属性“sortValue”和th,可以从一个section中获取ArticleSectionPairs的排序集合,并获取[sortedArticlePairs valueForKeyPath:@"article"]
的文章。
【讨论】:
以上是关于CoreData - 建模映射表的主要内容,如果未能解决你的问题,请参考以下文章