在我的 table 中解析时插入对象

Insert object on parse in my table

我有一个内部 table 的视图控制器,我想用保存在 Parse 上的数组填充她。要下载数据,我使用此代码:

 PFQuery *query = [PFQuery queryWithClassName:@"myClass"];
[query whereKey:@"X" equalTo:@"Y"];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
    if(error==nil){

       myArray=[object objectForKey:@"Z"];
       NSLog(@"%@",myArray);
    }

}];
}

现在我将其显示在 myarray 解析数据中。但是如果我使用数组来填充 table 它总是空的。我使用了 NSLog 并且我看到在 [query getFirstObjectInBackgroundWithBlock: ^ (PFObject * object, NSError * error) 方法之外我的数组总是空的。 怎么帮我?

从远程数据库获取数据需要一点时间。异步获取块参数 运行 的解析函数。查看您稍微修改过的代码中的注释...

[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
    if(error==nil){
       // this appears first in the file, but runs later
       // after the request is finished
       myArray=[object objectForKey:@"Z"];
       NSLog(@"%@",myArray);
       // tell our view that data is ready
       [self.tableView reloadData];
    }
}];

// this appears second in the file, but runs right away, right
// when the request is started
// while execution is here, the request isn't done yet
// we would expect myArray to be uninitialized

请确定,在您的数据源方法中,例如numberOfRows 回答 myArray.count。并在构建 table 视图单元格时使用数组 myArray[indexPath.row] 中的数据。