【发布时间】:2014-11-12 10:22:52
【问题描述】:
我的数据如下:
objA date1 objnumber2
objB date2 objnumber1
objC date2 objnumber4
objD date2 objnumber3
objE date1 objnumber7
objF date3 objnumber6
objG date1 objnumber5
我正在寻找从最后一个日期开始的所有对象。结果对象需要使用 objnumber 进行排序(使用 NSSortDescriptor 应该很容易)。
所以如果我指定 N=1(最近的日期),我应该只得到 [objF]。 (date3 是最近的)
如果 N=3(最旧日期),我应该排序 [objA, objG, objF]
排序部分很简单。
我的问题是我真的需要首先在整个数据中搜索最新的日期(使用 sortdescriptor 和 nsfetchrequest searchLimit 的组合)吗? 然后进行第二次搜索以查找该日期的所有对象(使用 nspredicate)并对其进行排序?
或者有没有更好的方法来执行这种类型的搜索?您如何将其概括为第 N 个日期而不是最后一个日期?那会是一个很大的性能打击吗??
注意事先不知道日期。
Edit2:好吧,因为我使用的是 NSDate,所以这更加复杂。所以几乎所有的对象都有唯一的日期哈哈。也必须在其中加入 nsdateformatter :(
【问题讨论】:
-
现在查找 nsfetchrequest 唯一值,如果没有其他更好的方法,这可能有助于提高性能部分。如果我得到更好的东西会评论。
标签: ios core-data nsdate nspredicate nsfetchrequest