是否可以使用最新日期排除对象?

时间:2015-07-21 20:26:20

标签: ios core-data nspredicate nsfetchedresultscontroller nsfetchrequest

我有一个核心数据模型,其实体具有属性“创建日期”

我想要做的是创建一个包含所有对象但不包含最新对象的提取请求。 当用户查看数据(即UITableView)时Core Data存储的内容发生变化,我无法设置“最新对象”并将其用于NSPredicate。

那么有没有办法创建一种格式来排除具有最新日期的数据集?

2 个答案:

答案 0 :(得分:3)

是的,您可以使用以下设置构建NSFetchRequest

  1. 按日期,降序排序
  2. 将偏移设置为1
  3. 执行提取,它将跳过第一条记录。

    然后,如果合适,您可以将其加载到NSFetchedResultsController

答案 1 :(得分:1)

如果要在表格视图中显示结果,则可以操纵datasource以省略最后的结果。 (在numberOfRowsInSection中返回计数减去1。)这对于提取的结果控制器也应该非常好。不要忘记也修改委托方法。

如果您只需要一个数组(不推荐),请读入一个可变数组并删除第一个或最后一个对象(取决于排序顺序)。当数据发生变化时,只需重新获取并替换数组。