1

我在下面有这个文件:

在此处输入图像描述

我有一个问题,如何从这个 plist 文件中获取 url 值。

我已将此文件转换为 NSDictionary 并且它具有所有键和值。

我添加了这一行来检查它是如何工作的

 NSLog(@"%@", [[[[source objectForKey:@"Root"] objectForKey:@"updates"] objectForKey:@"Item 0"] objectForKey:@"url"]);

但它返回 (null) 而不是 someurl1。

来源 - 这是我的 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";
    };
}
4

2 回答 2

4

尝试:

for (NSDictionary *item in [source objectForKey:@"updates"]) {

    NSLog(@"%@", [item objectForKey:@"url"]);
}

请注意,'Root' 不是键,它只是 Xcode 显示 plist 的方式。而且您需要遍历一个数组,同样,“Item 0”就是它在 IDE 中的显示方式。

于 2013-05-27T14:48:25.590 回答
2

很好。

试试这个代码。

NSDictionary *rootDictionary = [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"PListFile" ofType:@"plist"]];
NSLog(@"%@", [[[rootDictionary objectForKey:@"updates"] objectAtIndex:0] objectForKey:@"url"]);
于 2013-05-27T14:50:46.243 回答