OGeek|极客世界-中国程序员成长平台

标题: ios - PFQuery 仅返回 100 个对象(iOS),有限制 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:16
标题: ios - PFQuery 仅返回 100 个对象(iOS),有限制

我创建了一个 PFQuery 来获取“相册”类中的所有对象(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
}];

非常感谢!!!



Best Answer-推荐答案


根据Parse doc ,从 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
}];

关于ios - PFQuery 仅返回 100 个对象(iOS),有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34607925/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4