我创建了一个应用,我正在尝试访问存储在plist文件中的URL。在这种状态下,我只是想将内容记录下来。我知道之前已经提出了类似的问题,但我特别要求我的方案如何访问Item 0
。我正在尝试访问Item 0
内的InternalViaSafari
,这会在URLValidator
内显示,然后在Root
内显示。我到目前为止的代码是:
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"plist-file-name" ofType:@"plist"];
NSDictionary* plist = [NSDictionary dictionaryWithContentsOfFile:filePath];
NSString* name = [plist valueForKeyPath:@"URLValidator.InternalViaSafari"];
NSLog(name);
答案 0 :(得分:1)
就我所知,你不能像这样使用keyPath
。 InternalViaSafari
不是URLValidator
字典的属性。更多InternalViaSafari
是{1}}而不是{1}}。
为了得到这个字符串,你需要这样的东西:
Array
这里发生的是,您从String
词典中获取NSArray *internalViaSafari = plist[@"URLValidator"][@"InternalViaSafari"];
NSString *name = internalViaSafari.firstObject;
键下的值。此值也是URLValidator
(这可以在您分享的plist屏幕截图中清楚地看到),因此您可以获得plist
键下的值。该值又是Dictionary
,其InternalViaSafari
为其元素。在这个例子中,我从这个数组中提取了第一个条目。