我正在编写一个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。