我正被这个问题困扰着。我的核心数据工作正常,但是当它获取用户时,就我而言,他们会以不同的顺序返回。通常会使用标准的唯一标识符,但核心数据没有这个。所以.... 我是手动创建一个 ID entity_property 并递增分配它,还是按递增顺序创建“对象 ID”?可能增加 1,或者只是随机 ID?因此使我能够使用对象 ID。
我的目标是按照插入用户的相同顺序获取我获取的数组。
谢谢
最佳答案
您需要使用自己的技术来生成唯一 ID。在您的 NSManagedObject
子类的 -awakeFromInsert
中运行该代码,当对象被插入到数据存储中时,它会被调用一次。您可以添加时间戳或递增计数器的值。
没有对自动增量 ID 的内置支持。您将需要一个类变量,并在 -awakeFromInsert
中自行递增它。您还必须在发布期间保留该值,作为其自己的实体或在持久存储的元数据中。
如果这些用户与某个其他实体存在一对多关系,您可能会受益于使用有序关系。
NSManagedObjectID
在商店中是唯一的,但会在保存 NSManagedObjectContext
时发生变化(并且 NSMOID 从临时变为永久)。没有关于其构建顺序或模式的 promise 。它可以在托管对象模型迁移期间发生变化。所以不要依赖它来控制任何你需要控制的东西。
关于ios - 核心数据先进先出? (先进先出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32658101/