NSPredicate 表示选择,其中给定对象位于中间



我需要从 CoreData 获取对象,并提供了对象的时间戳(这是对象类型为 Date 的属性)。问题是,我拥有的对象必须位于此选择的中心。

例如:我们在 CoreData 中有 100 个对象。我的时间戳是第 45 个对象。我需要从 CoreData 中选择 30 个对象,第 45 个对象应该位于此选择的中心。所以我需要从 30 秒到 61 秒获得物体。

我想出了这个变体:

let predicate = NSPredicate(format: "timestamp > %@ AND timestamp < %@", argumentArray: [baseTimestamp, baseTimestamp])

但是,显然,这是行不通的。

有没有机会像我们在 SQL 中那样通过它们的rownum来获取对象?还是任何其他方法来实现此选择?

最终,我得到了 2 个单独的获取,因为没有办法使用 NSPredicate :( 来实现这个选择(如果我错了,请随时留下自己的答案,我很乐意将其标记为正确的答案)

最新更新