gpt4 book ai didi

ios - 用简单的英语解释 NSIncrementalStore

转载 作者:IT王子 更新时间:2023-10-29 08:07:53 25 4
gpt4 key购买 nike

我一直在研究使用核心数据与 Web 服务交互的最佳方式,因此我看到 NSIncrementalStore 突然出现。

看完an article by Drew Crawford , a programming guide , a class reference and this tutorial每次都有几次,我仍在努力理解什么是 NSIncremental 存储,为什么以及何时使用它。

有人能解释一下吗?

编辑
阅读 mundi 的回答后,我可以看到需要进一步的上下文。我正在研究将核心数据与我正在构建的 Web 服务结合使用。我正在尝试找到将用户信息本地存储在设备上并在有连接时发布到 Web 服务的最佳方法。我对核心数据知识的缺乏促使我进行研究,但我无法完全理解 NSIncrementalStore 的用处。

最佳答案

注意:当我在 2012 年编写此 API 时,此 API 处于前沿状态,并且详细信息已更改。如果您愿意,请随时更新。我目前没有从事任何 Cocoa/ObjC 项目,所以不幸的是,我不是一个保持最新状态的好人。看起来总体要点是正确的。

Core Data 提供了一组工具来帮助管理对象持久性,即能够从某种存储中保存并取回对象集 (NSManagedObject)。

当您使用 Core Data 对象时,您会使用从 NSPersistentStoreCoordinator 获得的 NSManagedObjectContext。 PSC 依次与一个或多个 NSPersistentStore 子类对话,这些子类处理存储上的实际操作。 (考虑针对数据库创建/读取/更新/删除。)

Core Data 支持两种主要类型的存储:NSPersistentStoreNSAtomicStore。持久存储可以被认为是一个数据库:您可以增量地保存、更新和从中获取任意记录集。原子存储是对象图的“全有或全无”表示。它旨在成为结构化文件的内存表示。

Core Data 自带的存储类型有:

  • NSSQLLiteStoreType (NSPersistentStore)
  • NSInMemoryStoreType (NSPersistentStore)
  • NSXMLStoreType (NSAtomicStore)
  • NSBinaryStoreType (NSAtomicStore)

NSPersistentStore 被明确禁止子类化,所以直到现在,还没有办法创建您自己的非原子存储后端。也就是说,如果您想零碎地持久化和查询对象的表示,而不是一大块(“加载整个图”、“保存整个图”),那么您就不走运了。直到 iOS5 引入了 NSIncrementalStore

NSIncrementalStore 是一个抽象类(派生自 NSPersistentStore),您可以实现其方法以在您控制的数据存储和 Core Data 世界之间提供一个适配器。您可以使用它来包装远程 API,或者如果您愿意,您可以包装类似 NULevelDB 的东西或 NanoStore (虽然我不确定你为什么要那样做)。

关于ios - 用简单的英语解释 NSIncrementalStore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459635/

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