我用p7b
和.plist
下载了Swift
个文件,我想读取.plist文件的值。
Alamofire
我必须包含我下载的.plist文件的对象:
使用这些对象中的任何一个,我想将plist fie转换为NSDictionary或Dictionary。
答案 0 :(得分:4)
您可以使用Foundation框架中的PropertyListSerialization
创建NSDictionary
从给定的属性列表数据。 Swift 3示例:
do {
if let plist = try PropertyListSerialization.propertyList(from: plistData, format: nil)
as? NSDictionary {
// Successfully read property list.
print(plist)
} else {
print("not a dictionary")
}
} catch let error {
print("not a plist:", error.localizedDescription)
}
并且
if let plist = try PropertyListSerialization.propertyList(from: plistData, format: nil)
as? [String: Any] { ... }
你会得到一个Swift Dictionary
的结果。
答案 1 :(得分:0)
祝你好运!
答案 2 :(得分:-1)
这是代码的Objective-C版本。你可以很容易地转换它。
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"register.plist"];
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
plistPath = [[NSBundle mainBundle] pathForResource:@"register" ofType:@"plist"];
}
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];