我创建了一个应用程序,我正在尝试访问存储在 plist 文件中的 URL。在这种状态下,我只是想注销内容。我知道之前有人问过类似的问题,但我是专门针对我的场景询问如何访问 Item 0
。我正在尝试访问 InternalViaSafari
内的 Item 0
这会在 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);
最佳答案
据我所知,您不能为此使用 keyPath
。 InternalViaSafari
不是 URLValidator
字典的属性。更重要的是,InternalViaSafari
是一个 Array
而不是您的 plist 中的 String
。
为了得到这个字符串,你需要这样的东西:
NSArray *internalViaSafari = plist[@"URLValidator"][@"InternalViaSafari"];
NSString *name = internalViaSafari.firstObject;
这里发生的事情是,您从 plist
字典中获取 URLValidator
键下的值。这个值也是一个 Dictionary
(这可以在您分享的 plist 屏幕截图中清楚地看到),因此您可以在 InternalViaSafari
键下获取值。该值又是一个 Array
,它的元素是 Strings
。在这个例子中,我从这个数组中提取了第一个条目。
关于ios - Objective-C 访问 Plist 中的特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41693418/