使用 Parse 启用 LocalDatastore 时远程数据错误

Wrong remote data when enableLocalDatastore with Parse

我在我的 swift 应用程序上启用了 Parse local-datastore。我想将远程数据与本地同步,但我遇到了指针数组的问题。

我有一个这样的 PFSubclass :

class ShotModel : PFObject, PFSubclassing {
  @NSManaged var status: String?
  @NSManaged var pics: [PicModel]?
}

当我在 Parse 服务器上更新 status 时,数据与我的本地数据存储同步,但是当更新 pics 指针数组时,本地数据没有改变。

例如:

  1. 我获取仅包含一个镜头及其 3 张图片的镜头列表(镜头数组)。
  2. 我从服务器得到了很好的响应(一个镜头和它的 3 张照片的阵列)
  3. 我用 4 张照片更新了 Parse 服务器上的这个镜头
  4. 我重新获取应该包含一个镜头及其 4 张照片的镜头列表。
  5. 现在的反应是错误的:镜头只有3张

查询结果为:

[<Shot: 0x170382d80, objectId: VwA1Qc9NBN, localId: (null)> {
  pics =     (
      "<Pic: 0x14ee64460, objectId: h5TGCb8BAx, localId: (null)> {\n  \n}",
      "<Pic: 0x14ee645d0, objectId: fZ61mvMUAM, localId: (null)> {\n  \n}",
      "<Pic: 0x14ee634f0, objectId: g8Wbxyk8E3, localId: (null)> {\n  \n}"
  );
  status = Done;
}]

无论删除一张、两张还是全部照片,我得到的结果都是一样的。

当我进行远程读取时,响应查询总是return 旧的指针数组列表,我不知道为什么。

你知道为什么解析会这样吗,还是我做错了什么?

V1.7.5 — 2015 年 6 月 24 日修复了此错误 https://parse.com/docs/downloads