私は動的なテーブルビューを持っています。これは実際には静的に似ていますが、View Controllerに埋め込まれているため、動的に設定しました。テーブルビューのデリゲートメソッドに3つのセルの4つのセクションが設定されているという問題がありますが、セルデータを入力する準備ができている辞書を含む配列があります。
このコードでわかるように、indexPath.rowは配列を反復処理するために使用され、配列の値が多いにもかかわらず3つまでは上がらないため、すべてのセクションで常に同じデータが設定されます。
現在のコードは次のとおりです。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSDictionary *jornada = [[NSDictionary alloc] initWithDictionary: [copaReyArray objectAtIndex:indexPath.row]];
self.copaReytable.backgroundColor = [UIColor whiteColor];
if (indexPath.row==0){
cuartosReyCell *headerCell = [tableView dequeueReusableCellWithIdentifier:@"header"];
if (headerCell == nil) {
headerCell = [[ cuartosReyCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:@"header"];
}
headerCell.cuartos.text = @"1/4 final";
headerCell.backgroundColor = [UIColor colorWithRed:0.008 green:0.235 blue:0.451 alpha:1];
return headerCell;
}
if (indexPath.row==1){
localCopaReyCell *localCell = [tableView dequeueReusableCellWithIdentifier:@"local"];
if (localCell == nil) {
localCell = [[ localCopaReyCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:@"local"];
}
NSString *equipoLoc = [jornada valueForKey:@"id_local"];
UIImage *img = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.png",[self applicationDocumentsDirectory],equipoLoc ]];
[localCell.escudo setImage:img];
localCell.escudo.contentMode = UIViewContentModeScaleAspectFit;
localCell.equiLoc.text = [equiposDic valueForKey:equipoLoc];
localCell.equiLoc.textColor = [UIColor colorWithRed:0.004 green:0.29 blue:0.553 alpha:1];
localCell.primerPartido.text = [jornada valueForKey:@"res_local"];
localCell.primerPartido.textColor= [UIColor colorWithRed:0.722 green:0.145 blue:0.345 alpha:1];
return localCell;
}
if (indexPath.row==2){
visitanteCopaReyCell *visitanteCell = [tableView dequeueReusableCellWithIdentifier:@"visitante"];
if (visitanteCell == nil) {
visitanteCell = [[ visitanteCopaReyCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:@"visitante"];
}
NSString *equipoLoc = [jornada valueForKey:@"id_local"];
UIImage *img = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.png",[self applicationDocumentsDirectory],equipoLoc ]];
[visitanteCell.escudo setImage:img];
visitanteCell.escudo.contentMode = UIViewContentModeScaleAspectFit;
visitanteCell.equiLoc.text = [equiposDic valueForKey:equipoLoc];
visitanteCell.equiLoc.textColor = [UIColor colorWithRed:0.004 green:0.29 blue:0.553 alpha:1];
visitanteCell.primerPartido.text = [jornada valueForKey:@"res_local"];
visitanteCell.primerPartido.textColor= [UIColor colorWithRed:0.004 green:0.29 blue:0.553 alpha:1];
return visitanteCell;
}
copaReyArrayを正しく反復し、セクションと行を設定する方法がわかりません。配列には、すべてのセクション(3つのセルの8つのセクション)に対応する8つの辞書が含まれています。
助けてくれて本当にありがとうございます。