为什么PFRelation不支持从LocalDataStore查询?

我有一个PFUser对象与几个PFRelation指向其他对象。 当我运行下面的代码:

 PFRelation *relation = [[PFUser currentUser] relationForKey:@"Relation"]; PFQuery *query = [relation query]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){ NSLog(@"%@", objects); }]; 

它工作正常。 但是,当我想从本地数据存储做同样的事情时:

 PFRelation *relation = [[PFUser currentUser] relationForKey:@"Relation"]; PFQuery *query = [[relation query] fromLocalDataStore]; // !!! [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){ NSLog(@"%@", objects); }]; 

它不会返回任何内容,尽pipe我用[myObject pinInBackground]固定了我的用户和相关对象。

为什么PFRelation查询不支持从fromLocalDataStore ? 我做错了什么?

我已经为这个问题创build了一个错误报告

升级到工程队进一步调查

所以它看起来像一个错误

与此同时,我已经将所有的PFRelations转换为指向相关PFObject的指针数组。 不像PFRelation那样华丽,但对本地数据存储工作正常。

更新 :parsing解决了 Parse SDK v.1.7.3中的问题

这是一个parsing错误。 它也可以用Android SDK复制 。 我不确定在iOS上,但在Android上,我find了一个如何使它工作的方法。

您需要在具有RelationParseObject “相关”类中有一个Pointer

在你的情况下,你有一个有几个PFRelation 。 如果您将“ PFUser ”添加到“相关”类中的PFUser ,则本地数据存储中的查询将可以正常工作。

或者从我的链接上面的情况 – 如果Comment类将有一个PointerPost类的一切工作正常。

在parsing1.7.5中有同样的问题(发行说明提到他们修复了这个bug,但仍然不适合我)

你可以使它执行单独的查询来处理每个钉住对象的关系(也许有办法一次执行所有对象)。 然后关联查询的结果。

之后,从本地数据存储查询开始工作正常。