以下是我的输出:
2012-12-08 19:30:40.906 Test[12015:c07] myKeys: (
"Bauchumfang & Gewicht",
"Bauchumfang & Gewicht",
"Stress & Entspannung",
"Stress & Entspannung",
"Mein Rauchverhalten",
"Mein Rauchverhalten",
"Blutdruck & Puls",
"Blutdruck & Puls",
"Blutzucker & Diabetes",
"Blutzucker & Diabetes",
"Meine Stimmung",
"Meine Stimmung",
"R\U00fccken & Bewegung",
"R\U00fccken & Bewegung",
"R\U00fccken & Bewegung",
Schlafrhythmus,
Schlafrhythmus,
"Schrittz\U00e4hler"
)
2012-12-08 19:30:40.907 Test[12015:c07] myObjects: (
"Mein Bauchumfang",
"Mein Gewicht",
"Mein Entspannungsniveau",
"H\U00e4ufigkeit der Entspannungsmomente",
Rauchverhalten,
"Verlangen nach einer Zigarette",
"Systolischer Wert",
"Diastolischer Wert",
"Meine bewusste Ern\U00e4hrung mit Diabetes",
"Meine Blutzucker-Werte",
"Mein Befinden",
"Meine Aktivit\U00e4ten",
"Umsetzung meiner R\U00fccken\U00fcbungen",
"Das Befinden meines R\U00fcckens",
"Meine sportlichen Aktivit\U00e4ten",
"Meine Schlafqualit\U00e4t",
"Mein Energieniveau",
"Meine Schritte"
)
2012-12-08 19:30:40.907 Test[12015:c07] myDictionary: {
"Bauchumfang & Gewicht" = "Mein Gewicht";
"Blutdruck & Puls" = "Diastolischer Wert";
"Blutzucker & Diabetes" = "Meine Blutzucker-Werte";
"Mein Rauchverhalten" = "Verlangen nach einer Zigarette";
"Meine Stimmung" = "Meine Aktivit\U00e4ten";
"R\U00fccken & Bewegung" = "Meine sportlichen Aktivit\U00e4ten";
Schlafrhythmus = "Mein Energieniveau";
"Schrittz\U00e4hler" = "Meine Schritte";
"Stress & Entspannung" = "H\U00e4ufigkeit der Entspannungsmomente";
}
和我的实施:
- (void)objectLoader:(RKObjectLoader *)objectLoader
didLoadObjects:(NSArray *)objects {
menuItems = [[NSMutableArray alloc]init];
for (Trackers *trackers in objects) {
if ([trackers.assigned isEqualToString:@"true"]) {
[menuItems addObject:[trackers name]];
[groups addObject:[trackers category]];
}
}
NSLog(@"myKeys: %@", groups);
NSLog(@"myObjects: %@", menuItems);
NSMutableDictionary *menuGroups = [[NSMutableDictionary alloc]
initWithObjects:menuItems forKeys:groups];
NSLog(@"myDictionary: %@", menuGroups);
[menuList addObject:menuGroups];
contentLoaded = YES;
[settingsTable reloadData];
}
请求任何帮助。
答案 0 :(得分:3)
根据定义,字典不允许重复键 在查看代码时,您希望将N个项目存储在同一个密钥下。
要这样做,你需要为每个键存储一个项目数组.. UNTESTED示例(内联编写)
- (void)objectLoader:(RKObjectLoader *)objectLoader
didLoadObjects:(NSArray *)objects {
NSMutableDictionary *menuGroups = [[NSMutableDictionary alloc] init];
for (Trackers *trackers in objects) {
if ([trackers.assigned isEqualToString:@"true"]) {
NSMutableArray *array = [menuGroups objectForKey:[trackers category]];
if(!array) {
array = [NSMutableArray array];
[menuGroups setObject:array forKey:[trackers category]];
}
[array addObject:[trackers name]];
}
}
contentLoaded = YES;
[settingsTable reloadData];
}