Plist

时间:2017-01-17 09:29:27

标签: ios objective-c plist

我创建了一个应用,我正在尝试访问存储在plist文件中的URL。在这种状态下,我只是想将内容记录下来。我知道之前已经提出了类似的问题,但我特别要求我的方案如何访问Item 0。我正在尝试访问Item 0内的InternalViaSafari,这会在URLValidator内显示,然后在Root内显示。我到目前为止的代码是: plist file

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"plist-file-name" ofType:@"plist"];
NSDictionary* plist = [NSDictionary dictionaryWithContentsOfFile:filePath];
NSString* name = [plist valueForKeyPath:@"URLValidator.InternalViaSafari"];
NSLog(name);

1 个答案:

答案 0 :(得分:1)

就我所知,你不能像这样使用keyPathInternalViaSafari不是URLValidator字典的属性。更多InternalViaSafari是{1}}而不是{1}}。

为了得到这个字符串,你需要这样的东西:

Array

这里发生的是,您从String词典中获取NSArray *internalViaSafari = plist[@"URLValidator"][@"InternalViaSafari"]; NSString *name = internalViaSafari.firstObject; 键下的值。此值也是URLValidator(这可以在您分享的plist屏幕截图中清楚地看到),因此您可以获得plist键下的值。该值又是Dictionary,其InternalViaSafari为其元素。在这个例子中,我从这个数组中提取了第一个条目。