iOS 读取数据多一点 'complex' .plist
iOS read data from a bit more 'complex' .plist
我知道这个问题已经被问过好几次了,但是我无法读取 Xcode iOS 中的数据。问题是在代码中没有硬编码 NSDictionaries 键的情况下实现实现。
比方说,我们有这个 .plist:
在这种情况下,我想动态访问餐馆的名称和地址,而不是通过硬编码字符串访问数据。
背景是我尝试访问 iOS 的分组 UITableView 上每个单元格的数据。
有人对此有一些有用的信息吗?
通常(通常我用 c# 编写代码)我知道如何访问字典。但是在这种情况下,有嵌套的字典和数组让我很困惑也很沮丧:(
NSString *path = [[NSBundle mainBundle] pathForResource:@"PropertyListName" ofType:@"plist"];
//Plist 应该存在于主包中
NSDictionary *root = [[NSDictionary alloc] initWithContentsOfFile:path];
那么在你的情况下,你的第一个值是字典中的一个数组,在一个数组中读取该对象,例如,
NSArray * restaurantsArray = [names objectForKey:@"restaurants"];
然后依此类推你知道层次结构中存在什么类型的对象只需调用每个对象的相应方法,
就像字典的 objectForKey 一样。
数组的 objectAtIndex。
我知道这个问题已经被问过好几次了,但是我无法读取 Xcode iOS 中的数据。问题是在代码中没有硬编码 NSDictionaries 键的情况下实现实现。
比方说,我们有这个 .plist:
在这种情况下,我想动态访问餐馆的名称和地址,而不是通过硬编码字符串访问数据。
背景是我尝试访问 iOS 的分组 UITableView 上每个单元格的数据。
有人对此有一些有用的信息吗? 通常(通常我用 c# 编写代码)我知道如何访问字典。但是在这种情况下,有嵌套的字典和数组让我很困惑也很沮丧:(
NSString *path = [[NSBundle mainBundle] pathForResource:@"PropertyListName" ofType:@"plist"]; //Plist 应该存在于主包中 NSDictionary *root = [[NSDictionary alloc] initWithContentsOfFile:path];
那么在你的情况下,你的第一个值是字典中的一个数组,在一个数组中读取该对象,例如, NSArray * restaurantsArray = [names objectForKey:@"restaurants"]; 然后依此类推你知道层次结构中存在什么类型的对象只需调用每个对象的相应方法, 就像字典的 objectForKey 一样。 数组的 objectAtIndex。