ios - NSPredicate swift2 的最长时间

标签 ios swift expression swift2 nspredicate

我正在使用 coredata,我想在 coredata 中找到最大时间。 怎么写?

  let predicate = NSPredicate(format: "contentDate = '???' ", "")
    fetchRequest.predicate = predicate

最佳答案

正如 Wain 所说,要找到最大值,您宁愿必须先定义 SortDescriptor,然后再定义 Predicate:

let sortByTimeDescriptor = NSSortDescriptor(key: "time", ascending: false)
fetchRequest.sortDescriptors = [sortByTimeDescriptor]

您只对一个(最大)值感兴趣,因此出于性能原因设置获取限制也是一种很好的做法:

fetchRequest.fetchLimit = 1

然后执行请求并从结果数组中获取第一个对象:

let results = managedObjectContext.executeFetchRequest(fetchRequest)
let maxTimeEntity = results.first

请注意 executeFetchRequest 可能会抛出错误,您必须以某种方式处理它。

关于ios - NSPredicate swift2 的最长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33229730/

相关文章:

ios - 代码覆盖率结果与 Xcode 7 中的实际覆盖率不准确

swift - 如何在 View Controller 中显示触摸条

swift - 如何将 NSSet 的内容附加到 [NSManagedObject]?

swift - 用户使用 PFFacebookUtils 登录时取消选择 Facebook 权限

java - 具有三元表达式的后缀增量运算符显示意外行为

c# - 动态 linq 表达式查询,出现问题

ios - 核心情节使我的应用使用乐器崩溃

xcode - 有没有办法将命令行选项从 Xcode 传递到我的 iOS 应用程序?

c# - 将表达式传递给 IEnumerable Select

ios - 尽管在属性检查器中启用了分隔线,但它不会显示在自定义 tableView 单元格下