Swift 如何将任何值与Coredata实体的Z_PK进行比较?

Swift 如何将任何值与Coredata实体的Z_PK进行比较?,swift,core-data,Swift,Core Data,我的应用程序必须支持离线,这就是为什么我有CoreData,我的所有PK都将由我的服务器数据库管理。现在所有的本地更新/插入,当一个离线时,我需要一些PK 那么什么是最好的方法呢 1我应该添加一列作为我的本地主键,值为日期时间吗? 2我们可以使用该实体的Z_PK吗?(有人在堆栈上说,苹果建议不要使用Z_PK) 对于#2,我可以得到Z#PK值,但不确定如何在谓词中比较它以获取该记录 有什么建议吗? 谢谢您与实体有关系,为什么不使用它呢? 这将被证明是很容易的,并且有利于将来的比较 如果你不能使用关

我的应用程序必须支持离线,这就是为什么我有CoreData,我的所有PK都将由我的服务器数据库管理。现在所有的本地更新/插入,当一个离线时,我需要一些PK

那么什么是最好的方法呢

1我应该添加一列作为我的本地主键,值为日期时间吗? 2我们可以使用该实体的Z_PK吗?(有人在堆栈上说,苹果建议不要使用Z_PK) 对于#2,我可以得到Z#PK值,但不确定如何在谓词中比较它以获取该记录

有什么建议吗?
谢谢

您与实体有关系,为什么不使用它呢? 这将被证明是很容易的,并且有利于将来的比较

如果你不能使用关系实体,我建议你选择日期


谢谢

您与实体有关系,为什么不使用它呢? 这将被证明是很容易的,并且有利于将来的比较

如果你不能使用关系实体,我建议你选择日期


谢谢

不要使用coredata的Z_PK。事实上你不能用它。您正在创建的属性只能由您管理和更新。尝试创建一个带有日期时间的新列,并使用它。或者你也可以将你的更新存储在另一个实体中,只要用户在线,你就可以更新服务器上的数据库,以后可以从coredata中删除该数据。所以我们应该添加一个额外的属性,并将其用作PK,对吧?我发现我们可以使用实体的objectID访问z_ps的值。如果你在中检查现有id,则日期时间可以是你的PK bcz你必须循环使用核心数据。coredata中没有主列,它必须从用户端进行管理。苹果使用z_-pk进行管理使用z_-pk进行更新是不好的做法。永远不要从coredata使用z_-pk。事实上你不能用它。您正在创建的属性只能由您管理和更新。尝试创建一个带有日期时间的新列,并使用它。或者你也可以将你的更新存储在另一个实体中,只要用户在线,你就可以更新服务器上的数据库,以后可以从coredata中删除该数据。所以我们应该添加一个额外的属性,并将其用作PK,对吧?我发现我们可以使用实体的objectID访问z_ps的值。如果你在中检查现有id,则日期时间可以是你的PK bcz你必须循环使用核心数据。coredata中没有主列,它必须从用户端进行管理。苹果使用z_-pk管理它使用z_-pk进行更新是不好的做法。