NSArrayM objectAtIndex:]:索引2超出边界[0 .. 1]'

时间:2013-09-17 06:58:38

标签: objective-c uitableview nsmutablearray parse-platform pfquery

所以我试图编辑我用PFQuery(parse.com)创建的数组。我需要检查它,然后从中删除对象,然后在UITableView中显示它,但是当我运行它时,我收到此错误

- (PFQuery *)queryForParse
{
    PFQuery *query1 = [PFQuery queryWithClassName:self.parseClassName];

    //[query1 selectKeys: [NSArray arrayWithContentsOfFile:[ NSString @"checkMark"]]];

    [query1 whereKey:@"location" nearGeoPoint:[PFGeoPoint geoPointWithLatitude:[LocationController sharedSingleton].locationManager.location.coordinate.latitude longitude:[LocationController sharedSingleton].locationManager.location.coordinate.longitude] withinMiles:50];
    [query1 findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error){

            placesArray = [[NSMutableArray alloc] initWithArray:objects];
            NSMutableArray *toDelete = [NSMutableArray array];

            for (PFObject *tempObject in placesArray){
                if ([tempObject objectForKey:@"checkMark"] == nil){
                    [toDelete addObject:tempObject];
                }
            }
            [placesArray removeObjectsInArray:toDelete];
            NSLog(@"%@", placesArray);
        }
        [placesTable reloadData];
    }];
    return query1;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    PlacesTableCell *cell = (PlacesTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil){
        cell = [[PlacesTableCell alloc] init];
    }

    PFObject *tempObject = [placesArray objectAtIndex:indexPath.row];
    cell.message.text = [tempObject objectForKey:@"message"];

    return cell;
}

1 个答案:

答案 0 :(得分:0)

听起来你可能只需要添加“numberOfRowsInSection:”方法。

例如:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // assuming only one section and one table here
    return([placesArray count]);
}