问题标签 [nsincrementalstore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何使用 AFIncrementalStore 与 NSManagedObject 绑定
我正在寻找有关如何使用AFIncrementalStore
. 我需要知道如何一步一步地实现它。
如果我理解正确AFIncrementalStore
,它是用于从服务器获取数据和映射数据模型的层。我对吗?
因此,我需要映射到本地模型的 URL 很少。它们都使用 GET 请求。
例如base_url/api/categories
我得到这个字符串作为回应:
那么,如何使用 AFIncrementalStore 将我的本地数据库与这些数据绑定?此外,如果您可以看到响应字符串中存在与使用相关的关系。用户数组将包含与音乐会用户相对应的 id。所以我认为第二个问题是如何指出该模型必须具有关系。
objective-c - NSIncrementalStore:从这个 NSManagedObjectContext 的协调器无法访问对象的持久存储
我正在尝试实现一个 NSIncrementalStore,它将通过 RPC API 访问服务器。它需要在本地缓存所有数据,因此我首先创建了一个 NSIncrementalStore 以使用另一个用作缓存的核心数据堆栈。
所以首先我设置元数据并设置缓存将使用的核心数据堆栈。缓存 SQL 文件是 store 初始化时传入的 URL:
对实体的简单请求的执行请求类似于以下代码。本质上,我只是接受请求,将其包装为 FetchRequest 并在缓存核心数据堆栈上执行请求。然后,我在调用上下文中使用返回的 objectID 创建对象:
当我尝试这个时,它会抛出异常并出现错误
<unknown>:0: error: -[] : Object's persistent store is not reachable from this NSManagedObjectContext's coordinator
在这条线上,NSManagedObject *managedObject = [context objectWithID:objectID];
我不知道为什么会这样 - 这是苹果建议在文档中完成的确切方式!
这个错误似乎与跨线程访问上下文有关——但我没有这样做。关于这里有什么问题的任何建议?
core-data - 未调用 gainPermanentIDsForObjects
我试验 NSIncrementalStore 和文档说“首先,持久存储协调器调用 gainPermanentIDsForObjects:error: .. 然后,协调器调用 executeRequest:withContext:error:”
在我的情况下, obtainPermanentIDsForObjects 方法不会被调用,但 executeRequest 将使用 NSSaveRequestType 参数调用。问题是什么?
我创建了一个 NSManagedObject 并调用了 save 方法。
ios - 适用于 iOS 的 PFIncrementalStore ...有人让它工作吗?
有人在 PFIncremental 商店上取得过任何成功吗?这里:http ://sbonami.github.io/PFIncrementalStore/
当我加载示例项目,然后添加我的 Parse 键并启动应用程序时,我没有看到 Parse 中出现任何对象。此外,如果我实现自己的库测试,并尝试保存一个对象,它不会出现在 Parse 界面中。
任何帮助或见解将不胜感激。如果我可以提供更多信息,请告诉我。
提前致谢。
core-data - NSIncrementalStore 中的 newObjectIDForEntity
我已经开始使用 NSIncrementalStore。当你处理一个获取请求时,你首先必须处理谓词来获取你的内部引用对象。然后将这些转换为 objectID,然后询问上下文以获取相应的 managedObjects。至少这是我对可用文档的解释。
"newObjectIDForEntity" 也用于获取永久对象 ID(请参阅 gainPermanentIDsForObjects)
我想知道“newObjectIDForEntity”的作用。它是为同一个对象创建一个新实例,还是每次在内部创建一个新对象?我的意思是:如果我创建一个新的托管对象然后获取该对象,我将为同一个对象调用两次“newObjectIDForEntity”。核心数据现在认为有 1 或 2 个对象吗?
ios - NSIncrementalStore 加载元数据
当然,这是一个愚蠢的问题,但这是一个理解单词而不是意思的例子。
NSIncrementalStore 中 loadMetaData 函数的文档指出:
任何基于文件的 NSIncrementalStore 子类都必须能够处理使用指向零长度文件的 URL 进行初始化。这可作为在指定位置构建新存储的指示,并允许使用该存储的应用程序在已知位置安全地创建预订文件。
您应该如何处理零长度文件?您将如何识别零长度文件?您不应该只在指定的 NSURL 位置创建(数据库)文件或目录吗?
objective-c - NSIncrementalStoreNode updateWithValues 的“values”参数是否只需要更改的值或数据的完整新副本?
我打电话给:
在 NSIncrementalStore 子类中,以便使用更新的 NSManagedObject 值更新缓存。我的问题与values
论点有关。我只需要放入更新的属性或数据的全新副本吗?
文档中的描述说:“更新值和版本以反映保存到外部存储或从外部存储加载的新数据。// 值字典与初始化程序的格式相同。”
我不清楚“反映新数据”的“值”是指仅更新的属性还是对象中的所有属性。
ios - NSIncrementalStore 一对一关系故障立即触发(急切加载?)
我注意到,即使我没有访问该关系,当执行获取请求时,一对一关系的错误也会立即触发。特别是,方法中的断点newValueForRelationship:forObjectWithID:withContext:error:
会立即在 NSIncrementalStore 子类中命中。
断点仅在我按预期访问多个关系(延迟加载)时才被命中。
有人可以帮忙吗?
ios - NSIncrementalStore 调用 NSSaveChangesRequest.deletedObjects == nil
我正在编写一个NSIncrementalStore
由 REST 服务支持的程序。它适用于 POST 和 GETing 对象,但是在删除它们时我遇到以下问题:
- 测试电话
[context delete: object];
context.deletedObjects
包含object
(正如人们所期望的那样)- 测试电话
[context save: &error];
- iOS用;调用
NSIncrementalStore
s 当呼叫同时到达和时,我的代码无法找出要从服务器中删除哪些对象。executeRequest:withContext:error:
NSSaveChangesRequest
context.deletedObjects == nil
saveChangesRequest.deletedObjects == nil
deletedObjects
设置nil
在对上下文的save
调用和它的调用之间怎么会发生NSIncrementalStore
?
UPDATE可能的原因:object.objectID
仍然是temporaryID
以下save
. 目前NSIncrementalStore
正在从中获取对象 ID,newObjectIDForEntity:referenceObject:
并且 Apple文档中的描述似乎还不适用:
插入托管对象上下文的新对象被分配一个临时 ID,一旦对象被保存到持久存储,该临时 ID 将替换为永久 ID。
ios - 获取可作为 NSIncrementalStore 访问的 Core Data 持久 NSSQLiteStoreType 存储
Apple Core Data文档说 iOS 的内置 SQLite Store ( NSSQLiteStoreType
) 是一个增量存储。
但是,如果我创建这种类型的商店(通过将其添加到 a NSPersistentStoreCoordinator
),它显然作为(iOS 内部)类的实例存在NSSQLCore
并[store isKindOfClass: NSIncrementalStore.class]
返回NO
.
是否可以从 iOS 获取一个可以作为NSIncrementalStore
.
如果可能的话,我想为自定义添加缓存NSIncrementalStore
并为此目的使用包装的 SQLite 存储(直截了当)。