核心数据objectId不断变化

mon*_*eta 2 iphone core-data

我有一些数据导出到XML文件并放入远程FTP服务器.

我必须用一个唯一的属性来识别每个对象,这并不重要,但必须始终持久=>它永远不会改变.

我不想创建一个唯一的属性,序列,序列等.

我正在使用objectID,但每次使用它都会得到一个新的引用.

我知道在保存对象之前,它有一个'temporal id',但是一旦它被保存,它就会得到确定的.

从来没有看过这个.

当我导出时,只需获取所有数据并循环,并始终获得一个新的引用:

NSURL *objectID = [[personalDataObject objectID] URIRepresentation];

// some of id received for the SAME OBJECT (no changes made, saved, ...)
// 61993296
// 62194624
Run Code Online (Sandbox Code Playgroud)

谢谢,

河

编辑

我使用%d而不是%@,现在返回的数据是:

x-coredata://F46F3300-8FED-4876-B0BF-E4D2A9D80913/DataEntered/p1
x-coredata://F46F3300-8FED-4876-B0BF-E4D2A9D80913/DataEntered/p2
Run Code Online (Sandbox Code Playgroud)

Mar*_*rra 17

在NSManagedObjectID不能保证是一致的.它可以根据许多因素进行更改,包括数据迁移和其他因素.如果您将此作为对象的唯一标识符,请停止.

NSManagedObjectID您需要在线程之间传递引用时唯一需要使用的时间.除了那种情况,你不应该依赖它.

如果您需要唯一ID,请创建一个并将其存储在您的实体中.