現在、QuickDialogのQDynamicDataSectionに苦労しています。動的セクションにデータを入力したい。デモから取得した次のコードを実行すると、テンプレートのいくつかのインスタンス、つまり「Somethinghere」が入力された動的セクションが表示されます。しかし、私は「最初」と「2番目」を取得したいと思います。どうすればこれに到達できますか?
QDynamicDataSection *section = [QDynamicDataSection new];
section.title = @"Normal: with elements";
section.bind = @"iterate:something";
section.elementTemplate = [NSDictionary dictionaryWithObjectsAndKeys:
@"QLabelElement", @"type",
@"Something here", @"title",
nil];
[root addSection: section];
[root bindToObject:[NSDictionary dictionaryWithObjectsAndKeys:
[NSArray arrayWithObjects:@"first", @"second", nil], @"something",
nil]];
ソリューションで編集:
エドゥアルドは私を正しい軌道に乗せました(そしてクレジットを取得します):
- テンプレートはバインディングを提供する必要があります
- 反復する配列要素は、辞書などのキーコンパイルである必要があります。(バインドは
object
機能しないようです)
次のコードは意図したとおりに機能します。
QDynamicDataSection *section = [QDynamicDataSection new];
section.title = @"Normal: with elements";
section.bind = @"iterate:something";
section.elementTemplate = [NSDictionary dictionaryWithObjectsAndKeys:
@"QLabelElement", @"type",
@"title:name", @"bind",
nil];
[root addSection: section];
[root bindToObject:[NSDictionary dictionaryWithObjectsAndKeys:
[NSArray arrayWithObjects:
[NSDictionary dictionaryWithObject: @"first" forKey: @"name"],
[NSDictionary dictionaryWithObject: @"second" forKey: @"name"],
nil], @"something",
nil]];
return root;
@Eduardo Scoz:でexampeコードを採用することをお勧めしSampleDataBuilder.m
ます。
2番目の編集self
(Eduardoによるコメントを参照)を
使用したアプローチも機能します。