我正在使用 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/