0

最初にこのスクリーンショットを見てください。私がやりたいのは、右側の小さなテーブルビューのセルをクリックしたときです。次に、ラベルを他のデータに変更する必要があります。データソースとデリゲートにカスタムコントローラーを使用しています。viewDidLoadでコントローラーを設定しています。

- (void)viewDidLoad
{
    
    tabelPlayers=[[tblPlayersDataSourceDelegate alloc]init];
    tblPlayers.dataSource=tabelPlayers;
    tblPlayers.delegate=tabelPlayers;
    [tabelPlayers setTableSource:_playersArray];
}

このtblPlayersDataSourceDelegateでは、didSelectCellAtIndexPathに対してこれを行います

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  Team *player = [_tableSource objectAtIndex:indexPath.row];
    PlayerDetailController *detail = [[PlayerDetailController alloc]init];
    [detail setStrNaam:player.name];
    [detail reloadInputViews];
}

しかし、それは何も変わりません。誰かが私を助けることができますか?

前もって感謝します

4

1 に答える 1

0

私があなたの質問を正しく理解しているなら、あなたがしようとしているのは、右側の小さなテーブルビューから選択したプレーヤーに応じて左側のラベルの情報を変更することです。

私はあなたのコードを完全には理解していませんが、あなたが望むのと同じ結果を達成するために一般的な構造として私がすることは次のようになります:

  1. 「アイテム」(内部NSDictionary)を含むNSDictionary(* .plistファイルにある可能性があります)を作成します。
  2. 各「アイテム」には、キー(プレーヤーの年齢、プレーヤーの番号など)が含まれています。

右側の小さなテーブルは、メインのNSArrayキーから構築される別のNSArrayを使用します。

NamesArray = [mainPlayersDictionary allKeys];

小さなテーブルビューで行が選択されるたびに、メインのNSDictionaryのキーに従ってすべてのラベルをロードするだけです。

[ageLabel setText: [[mainPlayersDictionary objectAtIndex:selectedRowIndex] objectForKey:plAge];
[pNumLable setText:[[mainPlayersDictionary objectAtIndex:selectedRowIndex] objectForKey:pNum];

そしてあなたのセット。お役に立てば幸いです。

于 2012-10-21T03:15:39.113 に答える