限制解析结果的数量

时间:2014-12-12 08:20:35

标签: ios uitableview parse-platform pfquery

如何限制返回的解析结果数。我试过像parse doc这样的方法,但它仍然返回所有对象~78。请帮忙。

- (PFQuery *)queryForTable {
    PFUser *currentUser = [PFUser currentUser];
    PFQuery *query = [PFQuery queryWithClassName:@"posts"];

    [query whereKey:@"school_ID" equalTo:currentUser[@"school_ID"]];

    // If no objects are loaded in memory, we look to the cache first to fill the table
    // and then subsequently do a query against the network.
    if ([self.objects count] == 0) {
        query.cachePolicy = kPFCachePolicyCacheThenNetwork;
    }

    [query orderByDescending:@"createdAt"];
    query.limit = 5;


    return query;
}

2 个答案:

答案 0 :(得分:0)

代码似乎很好。我认为问题是由您的缓存策略引起的。尝试将其设置为kPFCachePolicyIgnoreCache

答案 1 :(得分:0)

如果您尝试限制提取的对象数量,则可以为查询设置限制。但是,PQTVC使用objectPerPage。因此,如果您尝试限制获取结果的数量,则必须对查询本身设置限制,否则PFQTVC将在启用分页的情况下覆盖您的限制值

因此。我认为根据您的问题,您只想限制PFQTVC中显示的结果数量。这就是ObjectsPerPage的用途。默认设置为100。

一个例子:

-(id)initWithCoder:(NSCoder *)aCoder {
    self.paginationEnabled = NO;
    self.objectsPerPage = 5;
}

PFQTVC properties

修改

我只是重新阅读你的问题,但仍然间接回答,抱歉从iPhone输入和自动更正是踢我的屁股。启用分页时,PFQTVC会覆盖限制请求。在init方法和query.limit = 5中将paginationEnabled设置为NO;请求(PFQuery)queryForTable将正常运行