NSPredicate在CoreData中按字母顺序获取记录

时间:2014-09-03 10:53:54

标签: ios sql iphone core-data nspredicate

我正在尝试从实体获取记录,记录大于5000.所以我想用字母排序(名称参数)获取记录,而不是在结果数组上使用NSSortDescriptor进行排序。

我们是否可以按字母顺序对fetech记录进行排序。

3 个答案:

答案 0 :(得分:6)

NSSortDecriptor中设置NSFetchRequest *fetchRequest,就像使用任何谓词一样

[fetchRequest setSortDescriptors:@[[[NSSortSDescriptor alloc] initWithKey:@"name parameter" ascending:YES]]];

这意味着您的请求已按照您的要求进行排序,因为它已被提取。

正如Kaszas已经说过,NSPredicate不是用于排序,而是用于过滤

希望这有帮助

答案 1 :(得分:2)

不,你不能用NSPredicate对数组进行排序。

The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering.

答案 2 :(得分:2)

Swift 4.0

let sortDescriptor = NSSortDescriptor(key: "name", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]

https://developer.apple.com/documentation/foundation/nssortdescriptor