大佬教程收集整理的这篇文章主要介绍了ios – 为什么NSManagedObjectID会发生变化?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,有没有人知道什么使得Apple确保在每次将数据保存到持久存储时NsmanagedObjectID发生变化的设计决策?
我可能错了,但这个决定对我来说听起来很可疑.
没有明显的优势(它是一个UUID!它是唯一的!),但是它传递了objectID – 它可以在保存对象的任何时候在你的脚下改变.
这对我来说是一个大问题,因为我使用三个MOC系统(背景MOC – > UI MOC – >持久性MOC),将对象插入到背景MOC中并通过保存向上传播.保存是异步的,因为它必须在三个不同的MOC上传播并在创建它们之后返回它们,但在它们被保存到持久存储之前是非常痛苦的,因为我不能依赖于传递objectID.
我做的事特别错吗?有没有人知道UUID在没有通知的情况下随时可变的优势是什么?
我最大的问题是为什么提供临时的managedObjectID.它有什么意义吗?只是让人们混淆试图使用它吗?
文档说的内容(在Managed Object IDs and URIs中)是,如果要进行此类对象跟踪,则应将自己的UUID添加为属性:
可以从不可变数据结构中看到NsmanagedObjectID更改的原因.它包含persistentStore属性.在您实际保存对象之前,您无法确定这一点(例如,您可以调用assignObject:toPersistentStore:).同样,不要考虑NsmanagedObjectID的URI表示;这只是一种序列化格式.真实ID包括持久性存储,如文档中所示:
在插入对象之前,无法最终确定该标识符.
以上是大佬教程为你收集整理的ios – 为什么NSManagedObjectID会发生变化?全部内容,希望文章能够帮你解决ios – 为什么NSManagedObjectID会发生变化?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。