在整个应用程序中同步Parse对象的最佳策略是什么?
以Twitter为例,他们有很多Tweet对象,同一个推文对象可以显示在多个地方,例如viewController1和viewController2,因此它们都不能保存同一个解析对象的深层副本。 / p>
当我在viewController2中增加Tweet_168的likeCount时,如何在viewController1中更新Tweet_168的likeCount?
我创建了一个单例容器类(TweetContainer),因此每个Parse请求都会通过这个,并检查传入的objectId是否已经在容器中,
A)如果是,则更新先前对象的字段并转储新对象。 (保留单个解析对象的深层副本。)
B)如果不是,则添加新对象
(这个过程很快,因为我使用的是散列图)
此容器包含对这些对象的深层副本,并为viewControllers提供浅表副本,因此在viewController中编辑Tweet将导致其在所有viewControllers上更新!
更进一步,让我们说Tweet对象有指向Author对象的指针。更新Author对象时,我希望更新所有这些对象(比如图像更改)。我可以使用相同的策略创建一个新的AuthorContainer,并为TweetContainer中的Tweet对象提供浅拷贝。
在理想世界中,我可以将每次更新传播到云并刷新每个对象,然后通过云向用户显示,但这既不可行,也不可用于延迟< / p>