首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PFQuery findObjectsInBackgroundWithBlock不返回

PFQuery findObjectsInBackgroundWithBlock不返回
EN

Stack Overflow用户
提问于 2014-10-30 06:52:42
回答 2查看 812关注 0票数 0

我从文档中复制了PFQuery的示例,将我的字段名和类名放在其中,但它从未击中completionBlock。

代码语言:javascript
复制
- (void) loadMyWindows { 
    PFQuery *query = [PFQuery queryWithClassName:@"RGWindow"];
    [query whereKey:@"creatorID" equalTo:me.facebookID];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

        // it never gets here...

        if (!error) {
            NSLog(@"Successfully retrieved %d objects.", objects.count);
        for (PFObject *object in objects) {
            NSLog(@"%@", object.objectId);
        }

        [self gotoMain];
    } else {
        NSLog(@"Error: %@ %@", error, [error userInfo]);
    }
}];

我反复检查过许多times...there是数据浏览器中的几个RGWindow对象,它们有一个"creatorID“字段,以及它们的ACL的”公共读取“。

我很困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-08 23:02:32

事实证明,我的PFObject子类有一个init方法是不允许的,这显然是在这个随机的地方造成的破坏。也许我应该多读些文档。

票数 0
EN

Stack Overflow用户

发布于 2014-11-08 04:10:02

我终于找到了解决方案:确保在尝试调用之前实例化所有对象。如果您有任何空值,则在查询之前挂起并阻塞--它只是停止运行该特定查询的代码。例如:

代码语言:javascript
复制
NSLog(@"test1");
PFQuery *dailyChallengesQuery = [GrowthChallenges query];
NSLog(@"test2");
[dailyChallengesQuery whereKey:kParse_GrowthChallengesGrowthRole equalTo:currentRole];
//When currentVirtue = nil, THIS JUST HANGS - nothing below here is called properly
[dailyChallengesQuery whereKey:kParse_GrowthChallengesGrowthVirtue equalTo:currentVirtue];
NSLog(@"test3");
[dailyChallengesQuery getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
    NSLog(@"test4");
    currentChallenge = (GrowthChallenges *)object;
    [self setupTableView];
}];

currentVirtue为零时,它会记录:

test1

test2

但是,当正确设置currentVirtue时,它会记录:

test1

test2

test3

test4

在设置查询之前,请检查您的me.facebookID变量,以确保它不是零。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26646778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档