我不确定这个问题的格式是否适合这个网站。
基本上,有谁知道是什么说服了 Apple 做出设计决定,即每当您将数据保存到持久存储时 NSManagedObjectID 都会更改?
我可能错了,但这个决定对我来说听起来很可疑。没有明显的优势(它是一个 UUID!它是独一无二的!),但它可以传递 objectID --- 它可以在保存对象时随时更改。
这对我来说是个大问题,因为我使用三个 MOC 系统(背景 MOC -> UI MOC -> 持久 MOC),对象被插入到背景 MOC 中并向上传播并保存。保存是异步的,因为它必须在三个不同的 MOC 上传播并在创建后返回对象,但在将它们保存到持久存储之前非常痛苦,因为我不能依赖传递 objectID。
我做错了什么吗?有谁知道 UUID 在没有通知的情况下随时可变的优势是什么?
我最大的问题是为什么要提供临时 managedObjectID。这有什么意义吗?只是为了迷惑人们尝试使用它吗?