为什么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了一个如何使它工作的方法。
您需要在具有Relation
的ParseObject
“相关”类中有一个Pointer
。
在你的情况下,你有一个有几个PFRelation
。 如果您将“ PFUser
”添加到“相关”类中的PFUser
,则本地数据存储中的查询将可以正常工作。
或者从我的链接上面的情况 – 如果Comment
类将有一个Pointer
到Post
类的一切工作正常。
在parsing1.7.5中有同样的问题(发行说明提到他们修复了这个bug,但仍然不适合我)
你可以使它执行单独的查询来处理每个钉住对象的关系(也许有办法一次执行所有对象)。 然后关联查询的结果。
之后,从本地数据存储查询开始工作正常。