2013-04-30 128 views
1

我有一個應用程序,它允許用戶創建帶有標題的文檔並將作者分配給它。我試圖防止從列表中導入新對象時將重複對象輸入到我的核心數據庫中。我試圖按照Apples documentation中的建議進行操作,建議加載所有正在導入的對象,然後查詢數據庫以查看是否存在任何這些對象,然後適當地處理重複項。在他們的榜樣,他們正在查詢關閉單個屬性:核心數據重複對象Handeling

[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(employeeID IN %@)", employeeIDs]]; 

在我的情況,不過,我有一個定義一個唯一的對象兩個屬性:標題和作者。所以我不能簡單地使用:

[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(title IN %@) AND (author IN %@)", titleList, authorList]]; 

我知道我可以使用一系列或語句,但這似乎效率低下。

有關如何有效獲取正確標題 - 作者配對的對象的任何想法?

+0

從技術上講,在數據庫中我有一個作者實體和一個文檔實體。作者列表是獨一無二的,但我試圖確保他們的文檔標題也是唯一的。 – Jbryson 2013-04-30 22:19:09

回答

0

聽起來像你需要2個實體。文檔和作者。文檔具有標題屬性以及與作者的關係。然後在導入時,它需要2個階段,但這並不壞。

首先,您可以導入所有新作者,首先檢查已存在的作者。

然後處理新文檔,排除已存在的文檔並與作者建立關係。

我不認爲你需要嘗試在這種情況下得到比這更聰明的東西 - 你只會使它複雜化。

+0

目前我確實有兩個實體,一個是作者,一個是文檔。然而,問題仍然是如何知道某個作者是否存在文檔。我想我可以通過作者來驗證詩作者,但我希望能夠在一個查詢中完成這一切。我確實想過創建作者姓名和文檔標題的另一個(暫時)屬性。然後我可以查詢該屬性。 – Jbryson 2013-04-30 22:24:05

+0

首先看起來像更多的SQL問題。弄清楚如何檢索數據,然後如何在覈心數據的上下文中應用該SQL。先在SQL論壇中提問,然後將結果返回到此處。 – bandejapaisa 2013-05-01 05:14:53