-Disclaimer-
我是iOS和Swift开发的新手,但我对编程并不陌生。
我是iOS和Swift开发的新手,但我对编程并不陌生。
我有一个基本的iOS应用程序,其中包含Swift3元素。我创建了一个plist文件,其中包含一些我想要阅读并在我的应用程序中显示的条目。 (无需写入权限)
如何在Swift3中读取捆绑plist文件的给定键的值?
这对我来说似乎是一个非常简单的问题,但是一堆搜索让我质疑我的整个概念方法。
有用的提示将不胜感激。
你在Swift 2.3或更低版本中完成的方法只是改变了语法。
if let path = Bundle.main.path(forResource: "fileName",ofType: "plist") { //If your plist contain root as Array if let array = NSArray(contentsOfFile: path) as? [[String: Any]] { } ////If your plist contain root as Dictionary if let dic = NSDictionary(contentsOfFile: path) as? [String: Any] { } }
注意:在Swift中,最好使用Swift的泛型类型Array和Dictionary而不是NSArray和NSDictionary。
编辑:我们也可以使用PropertyListSerialization.propertyList(from:)
从plist文件中读取数据,而不是NSArray(contentsOfFile:path)和NSDictionary(contentsOfFile :)。
if let fileUrl = Bundle.main.url(forResource: "fileName",withExtension: "plist"),let data = try? Data(contentsOf: fileUrl) { if let result = try? PropertyListSerialization.propertyList(from: data,options: [],format: nil) as? [[String: Any]] { // [String: Any] which ever it is print(result) } }