私は、テーブルビューにデータを供給するためにネストされたディクショナリを使用しているiOSアプリケーションを持っています。辞書の構造は次のとおりです。ネストされたディクショナリ内の単一の要素へのアクセス
Dictionary<string1, Dictionary<string2, string3>> dict;
(I have named the strings here for clarification purposes)
現在、このネストされたディクショナリの単一要素にアクセスする際に問題があります。 string1
をセクションタイトルに、string2
をセルテキストラベルに、string3
をセル詳細テキストラベルにしたいと考えています。ここでは、テーブルのデータソースとの私の現在のアプローチです:
public class SupervisionDetailSource:UITableViewSource
{
Dictionary<string, Dictionary<string, string>> dict;
string Identifier = "cell";
public SupervisionDetailSource(Dictionary<string, Dictionary<string, string>> dict)
{
this.dict = dict;
}
public override string TitleForHeader(UITableView tableView, nint section)
{
return dict.Keys.ElementAt((int)section);
}
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
UITableViewCell cell = tableView.DequeueReusableCell(Identifier);
if (cell == null)
cell = new UITableViewCell(UITableViewCellStyle.Subtitle, Identifier);
//this is not right
cell.TextLabel.Text = dict[supvList.Keys.ElementAt(indexPath.Section)][dict[dict.Keys.ElementAt(indexPath.Row)]]; //string2
cell.DetailTextLabel.Text = string3 ...?
return cell;
}
public override nint RowsInSection(UITableView tableview, nint section)
{
string key = dict.Keys.ElementAt((int)section);
return dict[key].Count;
}
public override nint NumberOfSections(UITableView tableView)
{
return dict.Keys.Count;
}
}
は、任意のヘルプ
あなたが "正しくない" とはどういう意味ですか? – Alexander
@AMomchilov私の辞書の 'string2'にアクセスする私の現在のアプローチが正しくない/コンパイルできないことを意味します。 – panthor314
これは、私がまだ知らなかったことを教えてくれません。それはコンパイラのエラーですか?もしそうなら、エラーメッセージは何ですか?実行時エラーですか?もしそうなら、スタックトレースは何ですか?論理的なエラーですか?もしそうなら、実際の出力と期待される出力は何ですか? – Alexander