HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 为什么NSManagedObjectID会发生变化?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不确定这个问题的格式对这个网站是否有用.

基本上,有没有人知道什么使得Apple确保在每次将数据保存到持久存储时NsmanagedObjectID发生变化的设计决策?

我可能错了,但这个决定对我来说听起来很可疑.
没有明显的优势(它是一个UUID!它是唯一的!),但是它传递了objectID – 它可以在保存对象的任何时候在你的脚下改变.

这对我来说是一个大问题,因为我使用三个MOC系统(背景MOC – > UI MOC – >持久性MOC),将对象插入到背景MOC中并通过保存向上传播.保存是异步的,因为它必须在三个不同的MOC上传播并在创建它们之后返回它们,但在它们被保存到持久存储之前是非常痛苦的,因为我不能依赖于传递objectID.

我做的事特别错吗?有没有人知道UUID在没有通知的情况下随时可变的优势是什么?

我最大的问题是为什么提供临时的managedObjectID.它有什么意义吗?只是让人们混淆试图使用它吗?

解决方法

我有点困惑为什么你一直说NsmanagedObjectID特别是UUID. URI表示可能具有与UUID格式类似的外观,但我没有在文档中看到它表示“NsmanagedObjectID是UUID”(正如我将在下面讨论的,它不止于此).为什么Apple以这种方式设计它超出了StackOverflow的范围,所以希望你的问题真的是“什么是Core Data的设计,我该如何使用它?”

文档说的内容(在Managed Object IDs and URIs中)是,如果要进行此类对象跟踪,则应将自己的UUID添加属性

可以从不可变数据结构中看到NsmanagedObjectID更改的原因.它包含persistentStore属性.在您实际保存对象之前,您无法确定这一点(例如,您可以调用assignObject:toPersistentStore:).同样,不要虑NsmanagedObjectID的URI表示;这只是一种序列化格式.真实ID包括持久性存储,如文档中所示:

在插入对象之前,无法最终确定该标识符.

大佬总结

以上是大佬教程为你收集整理的ios – 为什么NSManagedObjectID会发生变化?全部内容,希望文章能够帮你解决ios – 为什么NSManagedObjectID会发生变化?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。