2013-04-01 43 views
1

我有一個使用核心數據的應用程序,我試圖使用NSPredicate生成過濾的提取結果。我的核心數據模型看起來如下:在覈心數據中使用NSFetchedResultsController中的NSPredicate

enter image description here

本質作者可以有一個或一個以上報價。一個標籤可以有多個報價,反之亦然,一個報價可以屬於一個或多個包(因此一個包可以有一個或多個報價)。

所以,現在我已經能夠用得到所有從作者的報價如下:

self.fetchedResultsController = [Author MR_fetchAllGroupedBy:nil 
                  withPredicate:[NSPredicate predicateWithFormat:@"[email protected] != 0"] 
                   sortedBy:AuthorKeys.name 
                   ascending:YES 
                   delegate:self]; 

如果現在我想要的東西說給我這有包X報價作者的全部名單, y和z。我將如何修改上面的NSPredicate?

回答

1

我認爲以下應該工作。

NSArray *allowedPackNames = @[ @"x", @"y" ]; 
[NSPredicate predicateWithFormat:@"quotes.packs.packName IN %@", allowedPackNames]; 

參考Format String Summary

+1

@Phillipe它不應該是quotes.packs.packName? – adit

+0

@adit是的,修復它。 – fphilipe

+0

@Phillipe你是多麼肯定,這將工作 – adit

相關問題