2013-10-21 63 views
0

我有兩個實體:字典和DictionaryItemsiOS版 - NSPredicate一個一對多的核心數據

A「字典」有一個一對多的關係稱爲「術語」到「DictionaryItems」實體

即字典=英語 DictionaryItems =白菜,咿呀作聲,綠,公交

我有兩個表,第一個顯示我的字典對象列表,即:

英語 西班牙語 克林貢

觸摸其中一個之後,它會推入一個新的表格,該表格應顯示該字典中包含的所有項目。

但是我的NSPredicate似乎是問題,因爲第二個表中沒有任何內容顯示。

我已經使用了一個詢問SQL數據庫後端的Mac應用程序,並且我可以確認所有條目都存在,並且關係似乎正確地連線了......但是沒有任何返回,它似乎是NSPredicate的故障。

這是我有:

NSEntityDescription * entity = [NSEntityDescription entityForName:@"DictionaryItems" inManagedObjectContext:self.managedObjectContext]; 

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"dictionary == %@", self.myDictionaryManagedObject]; 

[fetchRequest setPredicate:predicate]; 

其中「self.myDictionaryObject」是包含從第一個表選擇的「字典」管理對象的屬性。該對象是有效且正確的。

回答

1

這裏的修復:

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"ANY SELF.dictionary = %@", self.myDictionaryObject]; 

知道這是斷言!

0

在你的問題中,你說那些實體是DictionaryTerms。但是,您正在創建名稱爲DictionaryItemsNSEntityDescription

+0

錯字 - 代碼 – iOSProgrammingIsFun

+0

中的錯誤與上述更正相同,您發佈的代碼對我來說看起來還不錯。也許問題不在於你的謂詞。你能發佈更多的代碼嗎?來自視圖控制器的代碼處理你的'第二表',以及你如何獲得數據到該視圖控制器可能會有所幫助。 –

+0

沒有意義。我知道vc和table和nsfetchrequest的其餘部分正在工作,因爲如果我將實體更改爲父實體並刪除謂詞,它會使用父字典對象正確填充表格 – iOSProgrammingIsFun