以下の plist 辞書を UITableView のセルに読み込もうとしています。次のように、ArrayKey で示される配列に含まれる各文字列のサブビューを作成します。
Row1: | myString1 |
Row2: | myString2 || myString3 |
ディクショナリを読み取るために高速列挙を使用しましたが、各配列の最初の文字列のみを正常に読み取ることができます。
CGFloat constant = 0;
for (NSArray key in [dictionary objectForKey:@"ArrayKey"]) {
UILabel *label = (UILabel *)cell;
label.text = (NSString *)key;
label.frame = CGRectMake(0 + constant, 0, 30, 30);
constant = 20 + CGRectGetMaxX(label.frame);
}
サブビューのピースがありません。そして、高速列挙の NSLog を追加すると、出力に配列内のすべての文字列が表示されるのに、最初の文字列しか表示できない理由がわかりません (つまり、myString1 を 1 行に、myString2 を 2 行目に myString3 なしで)。
<dict>
<key>TitleKey</key>
<string>myTitle1</string>
<key>ArrayKey</key>
<array>
<string>myString1</string>
</array>
</dict>
<dict>
<key>TitleKey</key>
<string>myTitle2</string>
<key>ArrayKey</key>
<array>
<string>myString2</string>
<string>myString3</string>
</array>
</dict>