2012-04-14 144 views
0

我開始使用核心數據,並試圖深入瞭解它如何在我的情況下工作。我正在構建一款iPad相冊應用程序,該應用程序將允許用戶根據關鍵字和與每張照片相關的其他一些屬性過濾其結果。這些屬性將是基本的東西,如方向和顏色與否。關鍵字將基於用戶必須選擇的一組定義的值。核心數據 - 對很多關係

這裏是什麼,我必須在覈心數據模型至今一個大致的輪廓:
實體(屬性):
照片(ID,標題,說明,文件路徑)
關鍵詞(ID,名稱)

由於照片可以包含多個與其關聯的關鍵字,我是否可以通過「照片」與「關鍵字」的目的地建立關係,並將其設置爲多對多關係?這是正確的/瘋狂的/完全錯誤的?我將如何去添加/獲取關係的記錄?

回答

1

這是正確的。有幾種訪問方法,但最直接的方法是生成NSManagedObject子類(編輯器 - >創建NSManagedObject子類...)。填充這些照片實體時,關鍵字關係將填充在名爲關鍵字的屬性中。

3

如果定義了關鍵字並且用戶可以從定義的列表中選擇它們,我就不會使用實體關鍵字。提示總是使用單數名稱(照片,關鍵字)。我將關鍵字放在plist中,然後用戶選擇幾個關鍵字,然後可以創建逗號分隔的字符串以保存爲Photo上的屬性。正如約瑟夫所說,你想子類化NSManagedObject,然後我會添加一個方法,接收一個字符串(關鍵字),並返回一個BOOL,指示該關鍵字是否是照片屬性上的逗號分隔關鍵字值的一部分