Я создаю приложение для Ipad, которое будет действовать как карта вин.
Моя винная карта организована по разделам, каждый раздел имеет различное количество строк.
Моя проблема в том, что мне не удается посчитать количество строк в соответствии с разделами.
Я разбираю этот файл Json:
{"posts":[{"appellation":"Bordeaux Sup\u00e9rieur","nom":"Chateau David Beaulieu","annee":"2008","prix":"25"},{"appellation":"Blaye","nom":"Chateau L'Embrun","annee":"2006","prix":"35"},{"appellation":"Moulis","nom":"Ch\u00e2teau Poujeaux","annee":"1990","prix":"75"},{"appellation":"Moulis","nom":"Ch\u00e2teau Chasse-Spleen","annee":"1990","prix":"80"}]}
Обычно у меня должно быть 2 ряда для раздела "Мулис" и один ряд для остальных.
Я пробовал несколько решений, среди которых:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSString *appellation=[[self.rows objectAtIndex:section] objectForKey:@"appellation"];
NSLog(@"appellation: %@",appellation);
NSArray *cpt=[dict objectForKey:appellation];
NSLog(@"cpt: %@",cpt);
return [cpt count];
}
возвращает
2011-05-03 13:49:12.947 cha[9913:207] appellation: Moulis
2011-05-03 13:49:12.947 cha[9913:207] cpt: (null)
2011-05-03 13:49:12.948 cha[9913:207] appellation: Bordeaux Supérieur
2011-05-03 13:49:12.949 cha[9913:207] cpt: (null)
2011-05-03 13:49:12.951 cha[9913:207] appellation: Blaye
2011-05-03 13:49:12.952 cha[9913:207] cpt: (null)
Возвращает хорошие разделы, но не хорошие строки.
NSLog (@ "dict% @", dict) return
2011-05-06 10:13:56.835 chan[2751:207] dict {
posts = (
{
annee = 2008;
appellation = "Bordeaux Sup\U00e9rieur";
nom = "Chateau David Beaulieu";
prix = 25;
},
{
annee = 2006;
appellation = Blaye;
nom = "Chateau L'Embrun";
prix = 35;
},
{
annee = 1990;
appellation = Moulis;
nom = "Chateau Poujeaux";
prix = 75;
},
{
annee = 1990;
appellation = Moulis;
nom = "Chateau Chasse Spleen";
prix = 80;
);
}
Этот код работает отлично, но теперь я бы хотел расположить мою карту вин по алфавиту. Мой словарь хорош в алфавитном порядке. В документации я видел, что все ключи сортируют результат случайным образом, поэтому я использую:
[[[appDelegate.mutableDic allKeys]sortedArrayUsingSelector:@selector(compare:)] objectAtIndex:section];
в viewForHeaderInSection и
NSDictionary *ligneVin;
ligneVin=[[[appDelegate.mutableDic allValues ] objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
в cellForRowAtIndexPath, но вина больше не соответствуют разделам.
Любая помощь очень ценится.
Спасибо;)