【问题标题】:iPhone Development - Using NSPredicate to retrieve most recently added record from CoreDataiPhone 开发 - 使用 NSPredicate 从 CoreData 检索最近添加的记录
【发布时间】:2010-04-06 05:20:29
【问题描述】:

我想从 CoreData 中检索最近添加的记录。我想知道这是否可以使用 NSPredicate?如果有,怎么做?

例如我在部门和员工之间有一对多的关系,我想获取最近使用的员工记录。 Staff 表有一个可以使用的日期字段。

我不想获取所有员工记录,然后寻找正确的记录。请注意,CoreData 将相关记录存储在 NSSet 中。

【问题讨论】:

    标签: iphone core-data nspredicate


    【解决方案1】:

    我认为谓词不会满足您在这里的要求。相反,您可以做的是获取单个记录,其中排序描述符设置为按降序对日期进行排序。您需要修改您的 fetch 请求以包含以下内容:

    NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
    [fetchRequest setSortDescriptors:[NSArray arrayWithObject:dateSort]];
    [fetchRequest setFetchLimit:1];
    

    这应该会为您提供具有最新日期属性的 Staff 对象。请注意,如果您使用的是 SQLite 存储,则排序是在 SQLite 层完成的,并且只获取单个结果。

    【讨论】:

      猜你喜欢
      • 2015-02-07
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多