调度块中的findObjectsInBackgroundWithBlock没有被调用

时间:2015-03-23 15:58:08

标签: ios objective-c parse-platform dispatch

我正在尝试在另一个调度块中调用下面的解析检索方法,但它从不调用。我怀疑在另一个区块中调用块不允许但不确定。有没有人知道为什么没有调用findObjectsInBackgroundWithBlock?

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
PFQuery *query = [PFQuery queryWithClassName:@"quotes"];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
            if (!error) {

            NSMutableArray *tempQuotes = [[NSMutableArray alloc] init];
            for (PFObject *object in objects) {

                [tempQuotes addObject:[object objectForKey:@"quote"]];
            }

            quotes = tempQuotes;

        }
    }];

 dispatch_async(dispatch_get_main_queue(), ^{

        [self.delegate postRefreshing];
    });
});

1 个答案:

答案 0 :(得分:0)

我改变了我的内部解析查询,如下所示(没有任何背景块)并且它有效。我应该知道,如果您已经在调度块中,则无法在后台调用方法。

PFQuery *query = [PFQuery queryWithClassName:@"quotes"];
NSArray* quotesArray = [query findObjects];