我在这里关注了很多问题,但似乎没有任何效果。
我在用Swift3
in a Playground
。在 El Capitan 和 Xcode 8.1 上运行。
我有一个plist
以根作为Dictionary
包含一个 Int 值和两个 2D Int 数组。
plist
我遵循的每个问题似乎都不起作用,我所得到的最接近的是游乐场不返回错误,但它似乎一直在运行(旋转图标永远不会停止)。
我当前的代码,我相信是我所实现的最接近的。
import Foundation
if let path = Bundle.main.path(forResource: "levelList", ofType: "plist") {
let plistXML = FileManager.default.contents(atPath: path)!
let mydata = try! PropertyListSerialization.propertyList(from: plistXML, options: [], format: nil) as! [String:Any]
}
我在类似上下文中从之前的堆栈溢出答案中尝试过其他选项。
let mydata = Dictionary(fromPropertyList: path, format: "XML") as! [String: Any]
******
let mydata = Dictionary(contentsOf: path) as? [String: Any]
按照链接问题的说明,数据已正确添加到资源文件夹中。
我已经按照评论中的建议重新启动了 Xcode(和 mac)。一段时间后,执行停止并出现错误“错误:执行被中断原因 exc_bad_access(代码 = 1 地址 = 0x0)”
再次重新启动后,代码就可以工作了。由于目前操场正在显示,我如何快速将数据提取到数组中
[“级别 2”:[“Col”:<_ns_array0>(
您使用了错误的API,您需要加载Data
而不是文件系统中的某些东西。
if let url = Bundle.main.url(forResource: "levelList", withExtension: "plist"),
let plistData = try? Data(contentsOf: url ) {
let mydata = try! PropertyListSerialization.propertyList(from: plistData, options: [], format: nil) as! [String:Any]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)