swift - 从核心数据 Swift 中获取最新项目
问题描述
我正在尝试仅从核心数据存储中获取 10 个最新项目。我已将其设置fetchLimit
为 10,它返回添加到商店的前 10 个项目。如何获取最后 10 个项目?
我遇到的一些可能的解决方案建议使用sortDescriptors
和Date
属性对请求进行排序。但这会导致不良行为(项目按日期而不是按时间顺序排序),因此我正在寻找替代解决方案。
设置fetchOffset
获取结果计数 - 10 可能是一个可能的答案,但我认为在执行请求之前获取结果计数并非不可能。
let managedContext = PersistenceService.managedObjectContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Clip")
fetchRequest.fetchLimit = 10
do{
let clipItem = try managedContext.fetch(fetchRequest)
mainClips = clipItem as! [Clip]
} catch {
let nserror = error as NSError
NSLog("Unresolved error \(nserror), \(nserror.userInfo)")
NSApplication.shared.presentError(nserror)
}
解决方案
推荐阅读
- ios - 在 Swift 中以编程方式创建的 UIActivityIndicatorView 不显示
- search - 在域驱动设计中查询聚合子集中的不同值?
- corda - 在 Corda 中,知名、服务和机密身份有什么区别?
- java - Gson如何解析嵌套数组
- android - 如何删除此“任务':app:compileDebugJavaWithJavac'的执行失败”错误?(带有片段的导航视图)
- bash - 在特定字符之后和字符之前添加一个字符
- sql - 输出过去一年每个月的第一天的 where 子句
- database - “[FATAL] [DBT-10503]” 指定的模板文件无效
- java - 如何使用java在QBP ^ Q11中为QPD段设置样本ID
- java - 返回多个值的最佳实践?