【发布时间】:2015-05-09 22:16:04
【问题描述】:
我有一个 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?我做错了什么?
【问题讨论】:
-
关系中的对象是否设置了 ACL? LDS 不支持 ACL,但是,使用 SDK 的 v1.6.4,您可以告诉 LDS 查询忽略 ACL。
-
我目前不确定 SDK 是否会自动从关系中固定对象,除非您为获取对象所做的查询具有 include:@"relationField ”。您是刚刚固定了父对象还是将获取的对象与关系分开?
-
我正在分别固定相关对象
-
如果有人感兴趣,我最终将我所有的 PFRelation 对象转换为指向相关 PFObjects 的指针数组。
标签: ios parse-platform pfrelation