我有一个以下形式的 plist:
根(数组)--->第1项(字典)----> Sch(字符串)
---> 名称(字符串)
----> 价格(数量)
----> item 2 (dictionary)----> .....same as item 1
如何访问每一行(item1 到 ...)及其子行(Sch、Name 等)?一次一个?
我用:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"Data.plist"];
NSDictionary *plistData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
加载文件。我应该如何访问每个 child ?
我想做的是,我有一个 NSString *消息,我想做的是在整个 plist 中搜索匹配的字符串并显示整个项目 1. 有什么建议吗?
最佳答案
从 plist 初始化集合时,类型是根级别对象。因此,您不会初始化字典,而是初始化一个数组,如下所示:
NSArray *plistData = [[NSArray arrayWithContentsOfFile:finalPath] retain];
然后你会像这样访问它:
NSString *sch;
NSString *name;
NSString *price;
for (NSDictionary *aDict in plistData) {
sch = [aDict objectAtKey:"Sch"];
name = [aDict objectAtKey:"Name"];
price = [aDict objectAtKey:"price"];
//.. do whatever
}
关于ios - iPhone编程,加载plist数据,访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487753/