如何在 CoreData 中使用 NSPredicate 进行排序和限制?

JsW*_*JsW 2 core-data objective-c nspredicate ios swift

我想获取保存在 Core Data 中并按Date名为“recordingTime”的类型属性排序的五条记录。例如,在MySql中,我们可以简单的添加limit = 5来设置一个限制。那么,如何使用 NSPredicate 进行排序和限制呢?谢谢。

Nir*_*v D 5

您可以为此使用sortDescriptorsfetchLimit属性NSFetchRequest

目标 C:

//Set sort
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"recordingTime" ascending:YES];
[request setSortDescriptors: @[sort]];
[request setFetchLimit:5];
Run Code Online (Sandbox Code Playgroud)

迅速:

let sort = NSSortDescriptor(key: "recordingTime", ascending: true)
request.sortDescriptors = [sort]
request.fetchLimit = 5
Run Code Online (Sandbox Code Playgroud)