2011-10-21 120 views
0

CoreData目前爲止真的很棒:-)我真的很喜歡它。 現在我有一個多對多的關係,並希望過濾。我在這裏卡住了。我有多個例如郵編(44512,12445,...) 的問題是,如果我搜索445我用contains = %@它返回兩個結果(12345,12445)。CoreData BEGINSWITH多對多關係

我想只有一個結果,並將結果與​​我的搜索字符串開頭。所以通常我會用BEGINSWITH = %@。有了多對多的關係,我無法使用它。有什麼解決方法嗎? :-)

非常感謝您的幫助,我真的很感激!

+0

你如何存儲你的郵政編碼? keypath不起作用? – klefevre

+0

感謝您的回答。在這裏你可以找到db-modeling的截圖:http://stackoverflow.com/questions/7846623/coredata-basics-to-many-relationship-array-data因爲我是CoreData的新手,我從來沒有使用過keypath這裏... – rdesign

回答

2

沒有看到您的代碼我不能完全給出答案。鑑於你的其他SO問題,它看起來像你的拉鍊存儲爲NSStrings。
所以,你可以構造一個NSPredicate在這example from Apple使用beginswith等。 beginswith示例位於Arrays部分,但您可以輕鬆更改示例的謂詞並將其應用於NSFetchRequest。如果你以前從未做過謂詞,NSFetchRequest有一個predicate屬性。你創建了前置,然後將其分配給NSFetchRequest的謂詞屬性,然後執行你的獲取請求。

就像我在開始時說,如果你表現出的代碼片段,我們可以提供更多的幫助/具體在我們的答案。