У меня есть PLIST (вот пример):Populate NSDictionary в Tableview из вложенного массива Plist (внутри словаря)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>Setname</key>
<string>Top 11</string>
<key>Setnum</key>
<integer>11</integer>
<key>Verbsinset</key>
<array>
<dict>
<key>Inf</key>
<string>sein</string>
<key>Present</key>
<string>ist</string>
<key>Prater</key>
<string>war</string>
<key>Pastpart</key>
<string>gewesen</string>
<key>Eng</key>
<string>to be</string>
</dict>
<dict>
<key>Inf</key>
<string>haben</string>
<key>Present</key>
<string>hat</string>
<key>Prater</key>
<string>hatte</string>
<key>Pastpart</key>
<string>gehabt</string>
<key>Eng</key>
<string>to have</string>
</dict>
<dict>
<key>Inf</key>
<string>dürfen</string>
<key>Present</key>
<string>darf</string>
<key>Prater</key>
<string>durfte</string>
<key>Pastpart</key>
<string>gedurft</string>
<key>Eng</key>
<string>to be allowed (may)</string>
</dict>
<dict>
<key>Inf</key>
<string>müssen</string>
<key>Present</key>
<string>muss</string>
<key>Prater</key>
<string>musste</string>
<key>Pastpart</key>
<string>gemusst</string>
<key>Eng</key>
<string>to have to (must)</string>
</dict>
</array>
</dict>
<dict>
<key>Setname</key>
<string>Classroom 1</string>
<key>Setnum</key>
<integer>13</integer>
<key>Verbsinset</key>
<array>
<dict>
<key>Inf</key>
<string>antworten</string>
<key>Present</key>
<string>antwortet</string>
<key>Prater</key>
<string>antwortete</string>
<key>Pastpart</key>
<string>geantwortet</string>
<key>Eng</key>
<string>to answer</string>
</dict>
я могу загрузить первый массив из файла Plist и это не проблема заполнить представление таблицы списком Setnames/Setnumbers.
Моя проблема заключается в том, что когда я перехожу к следующему представлению таблицы, я хочу перечислить для каждого другого набора объекты словаря в вложенном массиве Verbsinset этого набора (например, список всех ключей Inf, принадлежащих этому Задавать).
Поэтому я стараюсь, чтобы развернуть через PLIST, например, так:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ListSetCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
//Fetch item from plist
NSDictionary *setoverbs = [self.verbsets objectAtIndex:[indexPath row]];
NSArray *verblist = [setoverbs objectForKey:@"Verbinset"];
NSDictionary *verbforms = [verblist objectAtIndex:[indexPath row]];
//Configure the cell
[cell.textLabel setText:verbforms[@"Inf"]];
[cell.detailTextLabel setText:verbforms[@"Present"]];
return cell;
}
для каждого SetName я нажимаю, следующий вид является первым глаголом из набора 1, второй глагол из набора 2, и 3-й глагол из набора 3! (У меня есть количество строк для возврата в 3 теперь, потому что я не знаю, как сказать, чтобы правильно подсчитать.)
Или я могу получить первый глагол из каждого набора, если я изменю * verbforms ссылка на
NSDictionary *verbforms = [verblist objectAtIndex:0];
Я мог бы понять, что получить такой же список каждый раз, потому что я не прошел, через который был нажат ряд (следующий бой), но сейчас я озадачен, почему я могу 't вытащить список из массива только из ONE Verbset?
Любая помощь в оценке! БЛАГОДАРЯ!
Мне кажется странным, что вы использовали бы тот же индекс для обоих массивов. Это даст вам «диагональный» путь через данные. –