ios - iPhone编程,加载plist数据,访问它

标签 ios iphone search sdk plist

我有一个以下形式的 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/

相关文章:

php - WordPress 中的 AJAX 搜索

ios - 在 NSArray 中搜索值的范围

search - 在 vim 搜索中找到模式,但在 vim 搜索和替换中找不到?

ios - 如何在运行时从 super View 中删除 View ?

ios - 代码 8 : Symbol(s) not found for architecture arm64 for pods

ios - 多线程环境下核心数据如何实现

iphone - 带图像的 View 和表格 View 在手机上看起来与界面生成器上的看起来不一样

iphone - sqlite 准备语句错误-没有这样的表

iphone - Flurry 报告的来自 numberOfSectionsInTableView iPhone SDK 的奇怪接收器/选择器错误

ios - Pubnub 阻止排毒同步