2017-07-11 63 views
0

我正在使用'sortdescriptor'來獲取'nsmutablearray',它按創建日期排序,但問題不在謂詞過濾中。我想同時應用sort和filter.i試着用以下如何在coredata中使用謂詞和sortdecriptor

let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: entityName) 
    let sort = NSSortDescriptor(key: "date", ascending: false) 
    let pre:NSPredicate = NSPredicate(format: "id == %d", 100) 
    fetchRequest.predicate = pre 
    fetchRequest.sortDescriptors = [sort] 
+0

你能分享更多的細節?例如,你的實體對象的結構是什麼?您使用當前代碼得到的結果是什麼? –

+0

你會得到什麼樣的輸出?你期望什麼?試一下'「id ==%ld」'(比較https://stackoverflow.com/a/37073412/1187415) –

+0

什麼是你想獲取結果的entityName –

回答

0

你可以試試這個: -

change <Message> to your entityModel 


let fetchRequest = NSFetchRequest<Message>.init(entityName: "Message") 
fetchRequest.sortDescriptors = [NSSortDescriptor.init(key: "date", ascending: false)] 
let predicate = NSPredicate.init(format: "id = %@","100") 
fetchRequest.predicate = predicate 
+0

這個謂詞肯定是錯誤的。 –