2011-04-02 40 views
0

我已經閱讀了一些關於如何模仿iTunes源列表樣式的線索。但我似乎無法弄清楚需要做些什麼來讓他們在主表視圖中實際顯示其他內容。如何創建過濾主表視圖的iTunes樣式源列表?

我的設置是這樣的:我在背景中包含核心數據,其中包含來自iTunes的所有曲目以及具有3個狀態的「狀態」字符串。我只想在選擇源列表中的項目時顯示部分標題。源列表項匹配軌道的狀態。換言之:代表一個數據集內3個不同組的3個源列表項。這些組與這個狀態變量是不同的。

我試圖做一個NSString和NSPredicates的數組,並將選定的項綁定到主表視圖過濾謂詞。但它沒有奏效。

非常感謝您的回覆。

編輯:從數組設置過濾器謂詞現在工作。但是這對於過濾表的NSSearch字段並不合適。還有另一種方法,或者我可以輕鬆地將兩個謂詞結合起來嗎?

回答

1

你可以通過「OR」或「AND」將兩個謂詞「結合」在一起。換句話說,假如你有這兩個謂詞:

NSPredicate *one = [NSPredicate predicateWithFormat:@"foo = 42"]; 
NSPredicate *two = [NSPredicate predicateWithFormat:@"bar = 'abc'"]; 

你可以這樣做:

NSArray *subpredicates = [NSArray arraWithObjects:one, two, nil]; 
NSPredicate *both = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates]; 
//this is equivalent to: foo = 42 AND bar = 'abc' 

或者

NSPredicate *both = [NSCompoundPredicate orPredicateWithSubpredicates:subpredicates]; 
//this is equivalent to: foo = 42 OR bar = 'abc'