鉴于此 P-List 字典:
怎么才能到3楼。关键 - “晚餐” - 它本身也是一个字典,并正确解析其值?
或者,我应该以不同的方式开始构建这个 P-List,以便我可以更轻松地了解所有内容吗?
这是我得到的,首先从我的“MenuDictionary”中获取所有键并将它们存储在一个数组中:
// Load the Property-List file into the Dictionary:
MenuDictionary = [[NSDictionary alloc] initWithContentsOfFile:menuPath];
// Get all the Keys from the Dictionary, put 'em into a 'mealTimesArray':
mealTimesArray = [[MenuDictionary allKeys] sortedArrayUsingSelector:@selector(compare:)];
// For each meal-type KEY, grab all the Values (dishes) in it and store them in a 'mealDishesArray':
for (NSString *mealTime in mealTimesArray) {
NSArray *mealDishesArray = [MenuDictionary valueForKey:mealTime];
// Now I can iterate through the 'mealDishesArray' to access each dish at
// a time, so I can print them out or do whatever else:
for (NSString *dish in mealDishesArray) {
NSLog(@"Iterating through 'mealDishesArray' now...");
NSLog(@"Current 'dish' is: %@", dish);
当我到达“晚餐”键时出现问题:它是一个字典,包含 2 个键和 2 个数组值。那么如何将其内容加载到 Dictionary 对象中呢?更具体地说,我应该使用什么“init”方法将“Dinner”内容加载到我的新 Dictionary 对象中?
我试过这个 - 不起作用:
// I put this inside the first fast-enum loop:
if ([mealTime isEqualToString: @"Dinner"]) {
// init new Dictionary object (declared previously):
dinnerDictionary = [[NSDictionary alloc] initWith ???];
我想用“晚餐”键的内容来初始化它,但它显然不是 P-List 文件,所以我不能使用
initWithContentsOfFile: pathName
我不明白其他哪个 init 方法可以让我访问“Dinner”的键和值。因为即使“晚餐”的结构是字典,它目前位于一个数组中,它并不认为它是字典(我认为......)
我对此显然有点不清楚。
或者,我应该以不同的方式开始构建我的 P-List 以便我可以获取这个嵌套的晚餐字典吗?
有任何想法吗?