繁体   English   中英

如何从磁盘加载 plist 文件作为 iOS 上的 NSDictionary?

[英]How do I load a plist file from disk as a NSDictionary on iOS?

我想从磁盘(文档、应用程序缓存等)而不是资源包加载 plist 文件。

您可以使用-initWithContentsOfFile:+ dictionaryWithContentsOfFile从任何可访问的文件路径加载plist

从文件加载plist,如果文件不存在则创建该文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                    NSUserDomainMask, YES); 
self.plistFile = [[paths objectAtIndex:0]
                    stringByAppendingPathComponent:@"example.plist"];

self.plist = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile];
if (!plist) {
    self.plist = [NSMutableDictionary new];
    [plist writeToFile:plistFile atomically:YES];
}

一点清洁:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistName" ofType:@"plist"]; 
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath]; 

拥有 Swift 版本总是好的。 它从包中加载一个 plist。

if let plistPath = Bundle.main.path(forResource: "plistName", ofType: "plist") {
    let dict = NSDictionary(contentsOfFile: plistPath)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM