2012-03-15 167 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