我有一个ID数组:[INT].现在我想选择具有这些ID的所有对象,但需要遵循IDs数组中id的顺序.
let IDs = [2, 6, 3, 4, 10, 9]
let predicate = NSPredicate(format: "id IN %@", IDs)
let objects = realm.objects(Item.self).filter(predicate)
Run Code Online (Sandbox Code Playgroud)
但最后,对象以不同的方式使用ID进行排序.有什么方法可以将这些对象排序到正确的顺序吗?
你可以使用sort():
let IDs = [2, 6, 3, 4, 10, 9]
let predicate = NSPredicate(format: "id IN %@", IDs)
do {
let realm = try Realm()
let objects = realm.objects(Item).filter(predicate).sort({ IDs.indexOf($0.id) < IDs.indexOf($1.id) })
} catch {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |