2012-03-15 169 views
1

我目前正在为我的应用程序生成数据模型,并且在实现可以开始之前正确设计它是非常重要的,否则这将是一个巨大的问题。iOS - 核心数据关系。映射表/多对多关系

我的情况是,我有一个实体,它是一个Post。每篇文章都有许多与之相关的Tags。最初,我想在每个Post中存储一组标签,但后来我意识到这不会被标准化,并且会有重复的数据。由于每个帖子都可能具有彼此共同的标签。

这导致创建Tag实体。我的问题是我如何建模关系?许多帖子与许多标签相关联。每个标签可以与一个或多个帖子相关联。

任何想法?我需要一个映射表,还是Core Data处理这个?谢谢。

回答

7

核心数据支持多对多关系,所以只要您正确定义模型,这应该不成问题。例如:

enter image description here enter image description here enter image description here

+1

猜一件事我感到困惑的是如何当我填充数据库,这些被表示为NSManagedObjects?由于我将帖子存储在其对象中,但是在设置标签时,我将如何为一个帖子设置多个标签?我如何确保我不用相同的数据创建两个标签? – Tim 2012-03-15 15:47:42

+0

我认为你需要花些时间阅读苹果文档“核心数据编程指南”:https://developer.apple.com/library/mac/#documentation/cocoa/conceptual/coredata/cdprogrammingguide.html。然后启动dev,然后回去再读一遍。每次你读它,事情开始有意义。 – Gobot 2012-03-15 15:55:45

+0

@Gobot你可以展示一个如何使用Core Data多对多关系的例子吗?通常在使用SQLite时,我应该创建另一个表格调用Post-Tag来表示多对多关系 – onmyway133 2013-11-04 04:14:54