CoreData:仅获取最后一个元素,而不是全部(iPhone)

2024-01-03

Welcome

我使用 Core Data 来存储数据。我需要这样一个方法,它只返回实体的最后 7 个元素。我的问题是我应该如何修改这段代码(它获取所有元素,但我只需要最后 7 个)

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Trip" inManagedObjectContext:managedObjectContext];
NSFetchRequest *request = [[ NSFetchRequest alloc] init];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"distance" ascending:NO]; 
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];  
[request setSortDescriptors:sortDescriptors];  
[sortDescriptor release];  
NSError *error;  
tripArray = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];

最后定义? Core Data 内部没有顺序的概念。如果您指的是基于您的最远距离distance属性,那么您可以执行以下操作:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Trip" inManagedObjectContext:managedObjectContext];
NSFetchRequest *request = [[ NSFetchRequest alloc] init];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"distance" ascending:NO]; 
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];  
[request setSortDescriptors:sortDescriptors];  
[request setFetchLimit:7];
[sortDescriptor release];  
NSError *error;  
NSArray *tripArray = [managedObjectContext executeFetchRequest:request error:&error];

请注意,添加-setFetchLimit:将导致该请求仅返回 7 个结果。它将根据您的排序返回“第一个”7。因此,如果您想要最接近的,请反转ascending:你的一部分。

-mutableCopy

打电话绝对没有意义-mutableCopy on the NSArray这是从返回的-executeFetchRequest: error:。向其中添加对象NSArray不会将它们添加到核心数据并从中删除它们NSArray不会将它们从核心数据中删除。因此,它完全没有任何价值,只是浪费。

你还记得你在哪里看到的吗?我已经尝试追踪它有一段时间了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CoreData:仅获取最后一个元素,而不是全部(iPhone) 的相关文章

  • NSFetchedResultsController 获取请求 - 更新谓词和 UITableView

    在我的 iPhone Core Data 应用程序中 我将其配置为主从视图设置 主视图是一个 UITableView 它列出了List实体 List 实体与Task实体 称为 任务 并且任务实体与List称为 列表 When a List在
  • 将 mogenerator 集成到 Xcode 4 中

    在我的应用程序中 我使用核心数据来实现持久数据保存 因为我已经看到 mogenerator 提供了一种很好的方法来创建和维护NSManagedObject子类 也具有附加功能 我正在寻找一些在 Xcode 4 中集成 monogenerat
  • CoreData 获取孩子的父母

    我有一个one to many关系store lt gt gt product 并且我知道该产品 我如何才能找到该产品的父级是谁 例如 我可以拥有许多具有相同值的产品product1 has parent1以及具有相同值的另一种产品prod
  • 如何从 iPhone 中删除 coredata

    您知道当您更改实体结构时如何重置 iPhone 模拟器上的核心数据存储吗 当我创建的核心数据存储的新版本与我上次在 iPhone 上运行的版本不同时 是否需要执行类似的过程 如果可以的话 请问如何 Thanks 只是为了方便起见 除非您编写
  • iPhone |从头开始构建新版本的核心数据迁移

    我正在开发应用程序更新 这个版本完全是从头开始构建的 并且具有全新的功能coreData模型架构 我需要写coreData从旧模型迁移 我一直在寻找资源来写作coreData迁移但都需要旧模型文件 由于这个版本是全新的 所以我没有旧的模型架
  • NSFetchedResultsController 在 VIPER 架构中的位置是什么?

    In VIPER https www objc io issues 13 architecture viper 与MVC不同的是 NSFetchedResultsController的角色和地点没有那么明确的定义 把它放在交互器上合适吗 根
  • 循环核心数据 NSSet 的正确语法

    每当我循环遍历核心数据关系 NSSet 时 我必须将集合转换为数组 for student in classroom students allObjects as Student print student name 或者我可以正常循环遍历
  • 使用 CoreData 进行 Swift 包单元测试

    我有一堆快速文件 它们提供了 CoreData 之上的一些服务 我的单元测试运行良好 我决定使用 XCode 11 将所有这些移至 Swift 包中 单元测试不再运行 运行时错误为caught NSInternalInconsistency
  • 如何在 Swift 中正确测试 Core Data

    已经有很多关于此的主题 但我还没有找到适用于 Swift Xcode 6 2 的解决方案 为了在 Swift 中测试 Core Data 支持的类 我生成了新的托管对象上下文 然后将其注入到我的类中 Given let testManage
  • iCloud Core Data 在 Xcode 6 / ios 8 SDK 中运行后不可用

    我有一个使用 Core Data 和 iCloud 同步的应用程序 它在 iOS 7 中运行良好 自从在 XCode 6 中运行它以来 即使在 iOS 7 设备上 我也遇到了一些问题 这是我的测试 在 iOS 7 设备上 从应用程序商店下载
  • 如何按月对获取的日期进行分组

    我将数据插入到日期类型的核心数据中 但是当我尝试从数据库中获取数据时 我无法按月对它们进行分组 您可以找到我尝试解决方案的代码 但它不起作用 let groupedDict Dictionary grouping self lessons
  • 如何判断“NSManagedObject”是否已被删除?

    我有一个NSManagedObject已被删除 并且包含该托管对象的上下文已被保存 我明白那个isDeleted回报YESif Core Data 将要求持久存储在下一次保存操作期间删除该对象 然而 由于保存已经发生 isDeleted回报
  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • NSUndoManager 会撤消后台发生的更改吗?

    我有一个编辑视图控制器 我正在使用 NSUndoManager 它是我的持久性存储 核心数据项目 的一组 我的应用程序的功能之一是与外部服务器同步 我想知道的是 如果我正在视图中编辑某些内容 同时应用程序正在与服务器同步 如果我改变主意并决
  • 关系上的核心数据属性?

    我刚刚开始使用核心数据 我有一个Headache实体和一个Medication实体 头痛和药物之间存在多对多的关系 当您加重头痛时 您可以选择多种药物 我希望能够指定这些药物的数量 我对 MySQL 更熟悉 您可以在其中创建一个数据透视表
  • 具有多个 sqlite 文件的核心数据

    如何将 Core Data 与多个 SQLite 文件一起使用 每个文件都包含相同的结构 但数据是从不同的位置检索的 我希望能够在运行时根据应用程序设置在这些 sqlite 文件之间切换 当然 只需指向持久存储协调器 NSPersisten
  • 如何从 Xcode 4 中的实体创建用户界面?

    我已经用核心数据进行了几天的实验 并且在过去的几个小时里尝试找出如何从 xcode 4 中的实体创建 UI 根据我一直在阅读的书籍 您必须选择将核心数据实体拖到界面生成器中的窗口中 但是当我在 xcode 4 中执行此操作时 没有任何反应
  • 核心数据:为什么必须调用重新加载数据才能使我的应用程序运行?

    我花了整个晚上调试一个简单的应用程序 该应用程序从网络检索一张图像 是的 是的 旨在让我的生活更轻松 并将其显示在表格视图中 我这样做是为了练习学习核心数据 在我修复它之前 错误消息显示如下 2012 09 30 06 16 12 854
  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • CloudKit 和 Core 在设备之间同步数据

    我创建了一个简单的Notes应用程序基于Core data 现在我想在用户设备之间添加同步 以及我读过的所有文章 this https www raywenderlich com 134694 cloudkit tutorial getti

随机推荐

  • C Graphics - 如何以特定角度移动物体

    我正在开发 C 图形程序 我将向最终用户询问投影角度 然后使用该角度从地球 圆形 表面发射火箭 但我不能这样做 这是我在谷歌上找到的 x1 x cos angle distance y1 y sin angle distance 其中 x1
  • 导入错误:无法从“时间”(未知位置)导入名称“时钟”

    我的 python 代码有一个错误 从时间导入时钟 导入错误 无法从 时间 未知位置 导入名称 时钟 这在 python 3 8 中不起作用 有人可以帮忙吗 time clock是自 Python 3 3 起已弃用并从 Python 3 8
  • 将 contentViewController 设置为 NSTabViewController 后,NSWindow 启动时大小错误

    我有一个 Xcode 项目NSWindowController whose contentViewController被设置为子类NSViewController 我最近删除了NSViewController从故事板子类并替换content
  • RequireJS:如何定义包含单个“类”的模块?

    我有许多 JavaScript 类 每个类都在自己的 JavaScript 文件中实现 对于开发 这些文件是单独加载的 对于生产 它们是串联的 但在这两种情况下 我都必须手动定义加载顺序 确保如果 B 使用 A 则 B 在 A 之后 我打算
  • Ninject 属性注入返回 null

    我有一个 WinForms 应用程序 代码如下 static void Main IKernel kernel new StandardKernel new MyModule TestInterface test kernel Get
  • 解析具有同名子节点的 XML 文件

    我有一个 XML 文件 下面是简要版本
  • 如何在双击时动态隐藏AppBar?

    我想在容器上的 DoubleTap 上动态隐藏和显示应用程序栏 并带有一些隐藏动画 但此链接中的解决方案不适用于我的项目 Flutter 如何在页面上动态显示或隐藏应用程序栏 https stackoverflow com question
  • 重构静态方法/静态字段以进行测试

    我有以下遗留代码 public class MyLegacyClass private static final String jndiName java comp env jdbc LegacyDataSource public stat
  • GWT 中会话超时的鼠标移动

    我正在研究 GWT 在我的应用程序中 我想在 2 分钟后未执行任何操作 包括鼠标事件 时添加会话超时 我编写了一个类 其中使用了 GWT 会话对象 public static boolean ValidSession HttpSession
  • 如何将用户凭据从控制台传递到 SharePoint Online?

    我正在尝试使用控制台可执行文件中的上下文令牌连接 SharePoint 2013 Online 网站 但是 它给了我错误The remote server returned an error 403 Forbidden 这是代码片段 str
  • 为什么使用 Xamarin 的 MobileServiceClient 单点触控实现的流量未显示在 Fidder/Charles 中

    这可能与以下问题相同 使用 MonoTouch HttpClient 和 Charles 代理时的 HTTP 流量监控问题 https stackoverflow com questions 23492126 http traffic mo
  • 如何让测试资源管理器适用于 Python VS Code?

    我最近安装了 VSCode 和它的 python 扩展 一切都很顺利 但测试资源管理器不会填充测试 我已经运行了测试发现 甚至可以运行测试 但资源管理器不会填充任何信息 在上面的截图中我们可以看到 空的测试资源管理器 我的 python v
  • 在node.js和socket.io中发送数组时的错误

    我使用socket io版本0 8 4 我将我的问题归结为以下几点 我的数据看起来像这样 data prop1 data prop1 push man data prop2 data prop2 hey man 我通过以下方式将数据从服务器
  • 为 Log4j2 配置 Grails 3

    我们想使用 Log4j2 作为与 grails 3 的日志绑定 从目前我能了解到的情况来看 我们有许多使用各种记录器的从属依赖项 因此我们需要使用 SLF4J API 然后 我们需要将每个 API 重新定向到 Log4j2 绑定 而不是让
  • Kinect 编程的要求

    我希望使用 Kinect ToF 摄像头进行编程 但我不确定这样做的硬件和软件要求 我读过很多涉及这个主题的文章 书籍 但似乎存在一些不一致之处 让我有些困惑 问题 我需要购买什么 Kinect 产品才能确保拥有在计算机上使用它进行软件开发
  • 使用带有 SSL 的 ODBC (5.1) 连接 MySQL

    我们有一个客户端应用程序 通过 ODBC 连接器 服务器是托管 专用网络服务器 连接到我们的在线 MySQL 数据库 5 1 44 community log 这效果非常好 但是我无法使用 SSL 让它工作 这是我到目前为止所做的 1 My
  • 如何创建纯解决方案级 NuGet 包

    我想创建并分发一个 NuGet 包 安装后仅将整个解决方案安装到根目录packages 文件夹 引用中的包 NuGet packages config file 我已经找到了一些有关该主题的 NuGet 包格式的信息 并且根据NuGet 常
  • 将 Gradle 模块包含到 Maven 项目中

    我们有一个使用 Maven 作为构建系统的大型项目 我们决定在未来的项目中将使用 Gradle 作为更方便的工具 但我们也希望将 Gradle 用于我们的遗留项目 我认为从 Maven 迁移到 Gradle 会非常痛苦 因为 POM 文件中
  • 如何从tinyMCE禁用HTML标签

    https www dropbox com s g2nry5ifx0x9v52 2013 12 20 2011 20 26 Ingage 20Admin 20Panel png https www dropbox com s g2nry5i
  • CoreData:仅获取最后一个元素,而不是全部(iPhone)

    Welcome 我使用 Core Data 来存储数据 我需要这样一个方法 它只返回实体的最后 7 个元素 我的问题是我应该如何修改这段代码 它获取所有元素 但我只需要最后 7 个 NSEntityDescription entity NS