2013-09-24 59 views
0

我有2個表之間用多對多的關係連接起來。核心數據。加入2個表與許多tomany的關係?

SQL等效不存在,因爲它需要第三個表將多對多關係拆分爲兩個一對多關係。例如,我有兩個核心數據實體:具有屬性的類別(項目數組)和具有屬性的項目(類別數組)。

我需要除「空」類別(當沒有此類別的項目時)以外的所有類別。

我目前的臨時解決方案看起來不正確。我使用NSFetchRequest來獲取所有類別。然後,我使用for-each手工從該數組中刪除所有類別的空項目數組。

回答

0

我的解決辦法:

[NSPredicate predicateWithFormat:@"ANY items != nil"] 
1

爲了獲取所有類別,除了空的,你可以只使用這樣的斷言:

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Category"];  
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"[email protected] > 0"]; 
NSArray *categories = [context executeFetchRequest:fetchRequest error:NULL]; 
+0

有你在yourselft嘗試過嗎?終止由於未捕獲的異常'NSInvalidArgumentException'的應用程序,原因:'對多密鑰不允許在這裏',這對我來說是一個問題 – user2083364

+0

對不起,錯字。它應該是'items。@ count'而不是'items.count' –

+0

好吧,現在它可以工作 – user2083364