Ios 解析plist文件并获取密钥的值
我有以下文件: 我有一个问题,如何从这个plist文件中获取url值 我已将此文件转换为NSDictionary,它包含所有键和值 我添加了这一行来检查它是如何工作的Ios 解析plist文件并获取密钥的值,ios,xml,plist,nsdictionary,Ios,Xml,Plist,Nsdictionary,我有以下文件: 我有一个问题,如何从这个plist文件中获取url值 我已将此文件转换为NSDictionary,它包含所有键和值 我添加了这一行来检查它是如何工作的 NSLog(@"%@", [[[[source objectForKey:@"Root"] objectForKey:@"updates"] objectForKey:@"Item 0"] objectForKey:@"url"]); 但是它返回null而不是someurl1 source-这是我的NSDictionary实例
NSLog(@"%@", [[[[source objectForKey:@"Root"] objectForKey:@"updates"] objectForKey:@"Item 0"] objectForKey:@"url"]);
但是它返回null而不是someurl1
source-这是我的NSDictionary实例变量
此日志用于我的NSDictionary对象
(NSDictionary *) $1 = 0x0ab38b60 {
plist = {
dict = {
array = {
dict = (
{
integer = 4;
key = (
id,
url,
compression
);
string = "http://someurl1";
true = "";
},
{
integer = 5;
key = (
id,
url,
compression
);
string = "http://someurl2";
true = "";
}
);
};
key = updates;
};
version = "1.0";
};
}
尝试:
请注意,“Root”不是键,它只是Xcode显示plist的方式。您需要在数组上循环,同样,“项0”正是它在IDE中的显示方式。请尝试:
请注意,“Root”不是键,它只是Xcode显示plist的方式。您需要在数组上循环,同样,“项0”正是它在IDE中的显示方式。非常好
试试这个代码
NSDictionary *rootDictionary = [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"PListFile" ofType:@"plist"]];
NSLog(@"%@", [[[rootDictionary objectForKey:@"updates"] objectAtIndex:0] objectForKey:@"url"]);
很好
试试这个代码
NSDictionary *rootDictionary = [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"PListFile" ofType:@"plist"]];
NSLog(@"%@", [[[rootDictionary objectForKey:@"updates"] objectAtIndex:0] objectForKey:@"url"]);
无法通过objectForKey访问数组项:。objectAtIndex.可以访问项0。感谢您的响应。我尝试了NSLog@%@、[[[source objectForKey:@Root]objectForKey:@updates]objectAtIndex:0]objectForKey:@url];但它仍然输出null[source objectForKey:@Root]输出什么?您可能不需要按名称获取该对象-毕竟它是根对象。您无法按objectForKey:访问数组项。objectAtIndex.可以访问项0。感谢您的响应。我尝试了NSLog@%@、[[[source objectForKey:@Root]objectForKey:@updates]objectAtIndex:0]objectForKey:@url];但它仍然输出null[source objectForKey:@Root]输出什么?您可能不需要按名称获取该对象-毕竟,它是根对象。我已使用NSLog为NSDictionary更新了我的问题。可能是keys.NSLog@%@[source objectForKey:@updates]有问题;同样返回null。字典的日志与Xcode屏幕截图没有任何相似之处。您加载了不同的plist,或者是如何加载的?我尝试了以下方法:NSDictionary*rootDictionary=[NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@plist类型的文件:@plist]];它是有效的。无论如何,谢谢你的帮助。这是我获取词典的错误。我已使用NSLog为我的NSDictionary更新了我的问题。可能是keys.NSLog@%@[source objectForKey:@updates]有问题;同样返回null。字典的日志与Xcode屏幕截图没有任何相似之处。您加载了不同的plist,或者是如何加载的?我尝试了以下方法:NSDictionary*rootDictionary=[NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@plist类型的文件:@plist]];它是有效的。无论如何,谢谢你的帮助。这是我拿字典的错误