0

我有一个 NSMutableArray;

array=(
 {
  names=a;
  score=2;
 },
 {
  names=b;
  score=5;
 },
 {
  names=c;
  score=20;
 }
)

首先我想测试分数是否大于10,然后在tableview中显示所有值;

我很难访问数组,我是从 PHP 的角度来看的,所以我真的没有任何线索

我得到了一个 SIGABRT

cell.textLabel.text = [self.array objectAtIndex:indexPath.row];

我想是因为我没有消化数组,或者我将整个数组内容传递到可能会窒息并吐出的单元格中。

有人可以帮忙吗?

4

1 回答 1

2

最好的是将您的数组重写为新数组,以避免在每个单元格中执行此操作的开销。

例如,您可以这样做viewDidLoad

- (void)viewDidLoad {
    self.filteredArray = [[NSMutableArray alloc] init];
    for (ArrayElement *arrayObject in self.array)
    {
        if ([[arrayObject score] intValue] > 10)
        {
            [self.filteredArray addObject:arrayObject];
        }
    }
}

然后self.filteredArray在你的tableView代表中使用。

于 2012-11-22T13:46:27.420 回答