我在我的 swift 应用程序上启用了 Parse local-datastore。我想将远程数据与本地同步,但我遇到了指针数组的问题。
我有一个像这样的 PFSubclass:
class ShotModel : PFObject, PFSubclassing {
@NSManaged var status: String?
@NSManaged var pics: [PicModel]?
}
当我status
在 Parse 服务器上更新时,数据与我的本地数据存储同步,但是当更新pics
指针数组时,本地数据不会改变。
例如:
- 我获取仅包含一个镜头及其 3 张照片的镜头列表(镜头数组)。
- 我从服务器得到了很好的响应(一个带有一个镜头的数组和它的 3 张图片)
- 我在 Parse 服务器上用 4 张照片更新了这张照片
- 我重新获取了应该包含一个镜头及其 4 张照片的镜头列表。
- 现在的反应是错误的:镜头只有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;
}]
无论我删除一张、两张或所有照片,我都会得到相同的结果。
当我进行远程获取时,响应查询总是返回旧的指针数组列表,我不知道为什么。
你知道为什么 parse 会这样,还是我做错了什么?