我有一个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);
}];它什么也不返回,尽管我已经用[myObject pinInBackground]固定了我的用户和相关对象。
为什么PFRelation查询不支持fromLocalDataStore?我做错什么了?
发布于 2015-03-20 00:41:40
发布于 2015-04-06 14:56:36
是个分析错误。它也可以是用Android复制。我不确定在iOS上,但在安卓系统上,我找到了一种如何让它工作的方法。
您需要在“相关”类中有一个Pointer,该类与具有Relations的ParseObject有关。
在您的示例中,您有一个具有多个PFUser的PFRelation,如果在“相关”类中将PFPointer添加到您的PFUser中,来自本地数据存储的查询就会正常工作。
或者上面链接的例子--如果Comment类有一个Pointer到Post类,那么一切都会正常工作。
发布于 2015-06-28 09:41:59
在解析1.7.5中也有同样的问题(发布说明提到他们修复了这个错误,但仍然不适合我)
您可以让它执行针对每个固定对象的关系的单独查询(也许有一种方法可以同时处理所有对象?)。然后对关系查询的结果进行引脚。
在从本地数据存储查询之后,开始正常工作。
https://stackoverflow.com/questions/28930462
复制相似问题