如何在 Swift 中将 plist 作为字典获取? [英] How do I get a plist as a Dictionary in Swift?

查看:72
本文介绍了如何在 Swift 中将 plist 作为字典获取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Apple 的新 Swift 编程语言,但遇到了一些问题...

I am playing around with Apple's new Swift programming language and have some problems...

目前我正在尝试读取 plist 文件,在 Objective-C 中,我将执行以下操作以将内容作为 NSDictionary 获取:

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];

如何在 Swift 中将 plist 作为字典获取?

How do I get a plist as a Dictionary in Swift?

我假设我可以通过以下方式获得 plist 的路径:

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:

是否可以使用默认的 NS* 类?我想是的……还是我错过了什么?据我所知,默认框架 NS* 类仍然有效并且可以使用?

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?

推荐答案

swift 3.0 从 Plist 读取.

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)")
        }
    }

阅读更多如何使用财产SWIFT 中的列表 (.PLIST).

这篇关于如何在 Swift 中将 plist 作为字典获取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆