How do I get a plist as a Dictionary in Swift?(如何在 Swift 中将 plist 作为字典?)
问题描述
I am playing around with Apple's new Swift programming language and have some problems...
Currently I'm trying to read a plist file, in Objective-C I would do the following to get the content as a NSDictionary:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Config" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
How do I get a plist as a Dictionary in Swift?
I assume I can get the path to the plist with:
let path = NSBundle.mainBundle().pathForResource("Config", ofType: "plist")
When this works (If it's correct?): How do I get the content as a Dictionary?
Also a more general question:
Is it OK to use the default NS* classes? I think so...or am I missing something? As far as I know the default framework NS* classes are still valid and alright to use?
In swift 3.0 Reading from Plist.
func readPropertyList() {
var propertyListFormat = PropertyListSerialization.PropertyListFormat.xml //Format of the Property List.
var plistData: [String: AnyObject] = [:] //Our data
let plistPath: String? = Bundle.main.path(forResource: "data", ofType: "plist")! //the path of the data
let plistXML = FileManager.default.contents(atPath: plistPath!)!
do {//convert the data to a dictionary and handle errors.
plistData = try PropertyListSerialization.propertyList(from: plistXML, options: .mutableContainersAndLeaves, format: &propertyListFormat) as! [String:AnyObject]
} catch {
print("Error reading plist: (error), format: (propertyListFormat)")
}
}
Read More HOW TO USE PROPERTY LISTS (.PLIST) IN SWIFT.
这篇关于如何在 Swift 中将 plist 作为字典?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!