Parse的CurrentUser不会保留刷新的数据



使用 iOS 版 Parse,我修改了_User表,使其具有一个名为"Friends"的字段,该字段是指向其他_Users的指针数组(顺便说一下,我还有其他附加字段)。

当我调用PFUser.currentUser()时,我在用户对象中看不到这个朋友字段。所以我调用PFUser.currentUser().fetch()(因为refresh方法似乎不再存在),我终于在我的 currentUser 对象中有了 friends 字段。

但是,一旦我退出应用程序,此字段就会丢失。与当前用户的所有其他字段不同,它似乎没有保存在本地。

我应该如何强制刷新缓存的当前用户?

根据 parse.com 本身和他们的一个帖子,没有其他方法可以让您的用户保持最新状态:

saveEventually目前不写入任何缓存, 包括currentUser,如果应用程序已重新启动。您将需要 定期调用 fetch 以使其保持最新状态。我们知道,这 不方便,并且正在寻找使其更好地工作的方法 你。

您确定希望用户对象包含这样的数组值吗?我显然不知道您的使用应用程序,但我建议改用 PFRelation。它就像一个数组一样工作,但 Parse 框架提供了一堆额外的功能。

至于你的具体问题,它可能必须处理 Parse。也许它们不会自动检索和保存对象上的数组。这是我的猜测,因为数组可能包含谁知道其中有多少数据。我仍然不知道为什么他们在获取数据后不会在本地保存这些数据。

我的建议可能有点过头了,但很可能是最好的结果。利用本地数据库,如CoreData甚至ParseLocalDatastore。然后封装 Parse 框架,使其具有自己的 User 对象,您可以在其中存储信息,这些信息也可以通过数据库保持持久性。

最新更新