2011-11-14 46 views
28

好的我有一個基本的iPad應用程序,要求用戶提供5個搜索/過濾標準。根據這些數據,我需要進入我的核心數據庫,並提取符合該條件的所有託管對象。看起來我需要對同一請求應用多個謂詞,這可能嗎?或者我可以寫一個非常長的幻想謂語嗎?有多重要求?我應該如何處理?我可以將多個謂詞應用於NSFetchRequest嗎?手動解析我的結果會更好嗎?

通過獲取請求抓取所有實體,然後循環遍歷每個數組並獲取符合我的搜索條件的任何對象,是否是個好主意?

請指教!

回答

80

是的,這是可能的。你要找的複合謂詞,這裏是用一個例子和謂詞:

NSPredicate *compoundPredicate 
    = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray of Predicates]]; 

您還可以使用notPredicateWithSubpredicatesorPredicateWithSubpredicates根據您的需要。

鏈接到文件https://developer.apple.com/documentation/foundation/nscompoundpredicate

+2

感謝名單的人,我試圖通過撰寫的NSString,並把它傳遞給謂語形式做這個。這工作得很好,但不是日期!我浪費了一天的工作。這是創建過濾器的方法:D – MQoder

相關問題