0

NSMutableArray があります。

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

まず、スコアが 10 より大きいかどうかをテストしてから、すべての値をテーブルビューに表示します。

配列にアクセスする方法に苦労しています。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 に答える