将 Parse 对象添加到 NSMutableArray 中的方法是什么?

What is the way to add Parse objects into a NSMutableArray?

我有一个名为 "eventnameArray" 的可变数组。我想要的是添加对象。这个要添加的对象来自 Parse 查询。

这是可变数组:

eventArray = [[NSMutableArray alloc]init];

这是有效的 Parse 查询。

PFQuery *query = [PFQuery queryWithClassName:@"Event"];
[query selectKeys:@[@"EventName"]];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        // The find succeeded.
        NSLog(@"Successfully retrieved %lu scores.", (unsigned long)objects.count);
        // Do something with the found objects


       [eventnameArray addObject:[objects valueForKey:@"EventName"]];



        NSLog(@"%@", eventnameArray);

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

我怀疑问题出在 addObject 调用中,它没有正确执行,或者可能在整个 PFQuery 结构中。

为了在 tableviewcell 中显示数组,我这样做了:

cell.label.text = [self.eventnameArray objectAtIndex: [indexPath row]];

编辑:

我将 addObject 替换为 addObjectsFromArray,如下所示:

[eventnameArray addObjectsFromArray:[objects valueForKey:@"EventName"]];

但我仍然无法让它工作。

编辑 2:

我将 EDIT 1 替换为:

for (NSObject *object in objects){
            NSString *name = [object valueForKey:@"EventName"];
            [eventnameArray addObject:name];
        }

但标签仍然没有显示任何内容。

编辑 3:

解决方案只是一个问题或像这样重新加载数据:

[self.tableView reloadData]; 

我猜你要找的是用 addObjectsFromArray: 替换 addObject: 因为解析 returns 一个数组给你所以调用 valueForKey:@"EventName" 将 return 一个数组,你想将所有这些名称添加到你的 eventArray.

所以:

[eventnameArray addObjectsFromArray:[objects valueForKey:@"EventName"]];

您可能想将 objects 数组中每个对象的 EventName 添加到您的 eventnameArray,而不是 objects 的 "EventName" 值大批。 试试这个:

for (NSObject *object in objects){
    NSString *name = [object valueForKey:@"EventName"];
    [eventnameArray addObject:name];
}
//EDIT: Addition for a complete fix. Reload the tabeview afterwards.
[self.tableView reloadData];