我需要更新当前用户并在每次启动应用程序时重新获取,以便我可以掌握最新版本的用户对象,而不是使用磁盘上缓存的用户对象。
User.current()?.fetchInBackground(block: { (user, error) in
//simply using a fetchInBackground won't fetch the entire reference field store in
// the user collection. In the case of using PFQuery, we could simply include the key for
// reference field.
})
我是否必须对所有这些参考字段进行额外提取,然后相应地更新当前用户的文件?
答案 0 :(得分:0)
Fetch仅返回存储在数据库中的数据。对于指针,这只是一个基本的JSON对象,指定它是该对象的指针,类名和objectId。为了返回此数据,您反而希望使用Parse Query并包含所需的字段。包含带点符号的工作,因此您可以执行类似objectAQuery.include("objectB.objectC")
的操作,其中包含存储为objectB上指针的objectC的所有数据。如果我没有弄错的话,那将不会包含所有objectB的数据,但我无法肯定地说。
最后,使用query.get()
获取具有特定objectId的对象。但是,如果对象不存在,则会抛出错误,因此请确保正确处理。你也可以在objectId上使用query equalTo然后调用query.first()
,但更推荐get
。