0

我不知道解析是什么,但由于某种原因,它不允许我将检索到的数组保存到我创建的可变数组中。它在解析代码块内工作,但一旦在外面,它就会显示空值。请帮忙?

 PFQuery *query = [PFQuery queryWithClassName:@"comments"];
    [query whereKey:@"flirtID" equalTo:recipe.flirtID];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {


            comments = [[NSMutableArray alloc]initWithArray:objects];

            // Do something with the found objects
            for (PFObject *object in objects) {

            }
        } else {
            // Log details of the failure
            NSLog(@"Error: %@ %@", error, [error userInfo]);
        }
    }];
    NSLog(@"%@",[comments objectAtIndex:0]);
4

1 回答 1

1

它实际上正在按应有的方式工作。您应该阅读有关块如何工作的内容。

编辑:尝试阅读Apple 的文档

在实际设置评论之前,您是 NSLogging 的“评论” 。这是如何运作的?你看,查询是在后台运行的,它实际上需要一些时间。它正在异步运行。但是块外的代码会立即运行。

虽然代码在前面,因为它是一个异步块,它可以并且将在任何时候运行。

尝试这个:

comments = [[NSMutableArray alloc]initWithArray:objects];
NSLog(@"%@",[comments objectAtIndex:0]);

重要的问题是,查询后你想做什么?看起来您想保存评论,但接下来呢?这将决定你下一步做什么。

于 2014-08-18T04:31:59.590 回答