gpt4 book ai didi

ios - 使用 Core Data 在 RestKit 中搜索远程服务器

转载 作者:行者123 更新时间:2023-11-29 10:58:26 25 4
gpt4 key购买 nike

我有一个应用程序,它使用 RestKit 与用于核心数据的 SQLite 存储区的远程 API 通信。当我谈到要添加服务器端搜索时,我面临着必须找到一种有效显示搜索结果的方法的问题。为了实现这一点,我使用了一个 NSFetchedResultsController,它与另一个与 SQLite 存储具有相同模式的内存存储相关联,并且也由 RestKit 提供支持。当 RestKit 搜索 API 的搜索端点时,它会将响应映射回内存存储。

这非常适合我的需要,但现在引起了另一个问题。当我从服务器取回这些“ transient ”对象,并且用户选择了一个时,需要在此时将其复制到持久存储中(超出该点的各种交互将从服务器加载其他对象并尝试将它们绑定(bind)回去到原始对象 - 如果它们在两个不同的对象上下文中,它将失败)。

tl;dr

有没有人对如何将整个对象(实体和关系)从一个核心数据存储复制到另一个有任何建议?或者,这甚至是必要的吗?有没有更简单的方法可以使用 RestKit 完成同样的任务?

改为更改搜索而不使用内存存储是否会更好地为我服务?如果是这样,我应该如何存储这些对象?

最佳答案

我不会使用内存存储。我只是将搜索结果放入主存储并绕过复制问题。然后我会运行一个清除程序来清除不再需要的旧搜索结果。您可能想要标记出于某种原因需要保留的搜索结果。并且您可以让 RestKit 在每次执行新搜索时自动执行清除(请参阅 these docs 中的“获取请求 block 和删除孤立对象”)


关于你的另一个问题,关于标记。当您发出搜索请求时,搜索词就在 URL 中。如果您使用 RKObjectManager 和路由,那么您可以访问提供给映射的元数据以获取搜索词并将其存储到返回的对象中。像这样的东西:

@"@metadata.routing.parameters.searchTerm": @"searchTerm",

查看元数据文档 here .

关于ios - 使用 Core Data 在 RestKit 中搜索远程服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com