我创建了一个PFQuery来获取类"Albums"中的所有对象(512个对象)。
当我创建一个PFQuery并对其调用findObjectsInBackgroundWithBlock
方法时,它只返回100个对象,而不是512个,尽管我添加了行
query.limit=1000;
我的代码:
PFQuery *query=[PFQuery queryWithClassName:@"Albums"];
query.limit=1000;
[query findObjectsInBackgroundWithBlock:^(NSArray * _Nullable objects, NSError * _Nullable error) {
if (error) {
NSLog(@"Error: %@",[error description]);
}
NSLog(@"%lu",objects.count); //print - 100
self.albums=objects;
NSLog(@"%ld",(long)self.supermarkets.count); //print - 100
}];
非常感谢!!!
根据Parse文档,从Parse中提取对象似乎有一些限制。请注意,默认限制100和最大限制1000也适用于内部查询,因此对于大型数据集,您可能需要仔细构建查询以获得所需的行为。您将不得不一次又一次地查询,直到达到总数。
或者,您可以在这里尝试使用缓存策略进行查询,如下所示:
PFQuery *query=[PFQuery queryWithClassName:@"Albums"];
query.limit=1000;
// use cachepolicy
query.cachePolicy = kPFCachePolicyNetworkOnly;
[query findObjectsInBackgroundWithBlock:^(NSArray * _Nullable objects, NSError * _Nullable error) {
if (error) {
NSLog(@"Error: %@",[error description]);
}
NSLog(@"%lu",objects.count); //print - 100
self.albums=objects;
NSLog(@"%ld",(long)self.supermarkets.count); //print - 100
}];