2012-09-19 99 views
0

我擁有人員和團隊實體,許多人都可以屬於一個團隊。我正在嘗試使用人員號碼和團隊名稱創建一個NSPredicate。因此,這個請求將檢查覈心數據中是否已經有一個擁有數字N並且屬於團隊T的人。但是,我沒有能夠使謂詞工作,以便我可以獲得TEAM的屬性進行比較。使用核心數據實體的屬性的NSPredicate

我現在斷言如下:

request.predicate = [NSPredicate predicateWithFormat:@"(team.name LIKE %@) AND (number == %@)", [[personInfo objectForKey:PLAYS_FOR] name], [personInfo objectForKey:PERSON_NUMBER]]; 

在我看來,謂詞(team.name LIKE%@)的第一部分就是問題所在。任何幫助,將不勝感激!謝謝!

回答

0

嘗試:

[NSPredicate predicateWithFormat:@"(name ==[c] %@) AND (number == %@)", [[personInfo objectForKey:PLAYS_FOR] name], [personInfo objectForKey:PERSON_NUMBER]]; 
+0

嗯,不這樣做。我認爲問題在於從「team.name LIKE%@」中的「team」實體獲取「name」屬性。這不是以謂詞格式獲取對象屬性的正確方法嗎? – user1096786

+0

'LIKE'確實有效,但'''不是! – tipycalFlow

0

你需要你的團隊實體和球員實體之間的關係。

1名球員1隊,1隊多名球員。

這就是爲什麼加入球員關係和檢查player.team ==%@ AND player.number ==%d

+0

讓我進一步解釋我想要做的事情。我有一個NSDictionary中的播放器數據,現在我想看看CoreData中是否有一個已經共享這些數據的播放器(具有相同的編號並且屬於同一個團隊)。 所以我想用一些由用戶輸入的鬆散數據來查詢數據庫。 – user1096786

+0

你能爲我提供字典的鑰匙嗎? –

+0

是的,它只是PLAYS_FOR和PERSON_NUMBER,其中字典是personInfo – user1096786

相關問題