在 swift 3 playground 阅读 plist
Read plist in swift 3 playground
我已经关注了这里的大量问题,但似乎没有任何效果。
我在 Playground
中使用 Swift3
。 运行 在 El Capitan 和 Xcode 8.1。
我有一个 plist
,根是 Dictionary
,包含一个 Int 值和两个二维 Int 数组。
plist
我关注的每个问题似乎都不奏效,我得到的最接近的问题是 playground 没有 return 错误,但它似乎一直 运行(旋转的图标永远不会停止)。
我目前的代码,我相信这是我实现的最接近的代码。
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)。一段时间后,执行因错误停止 "error: Execution was interrupted reason exc_bad_access (code=1 address=0x0)"
再次重启后代码工作。我如何将数据提取到 swift 中的数组中,因为此时 playground 正在显示
["Level 2":["Col": <_NS_array0 0x7fc620d091a0>(
您使用了错误的 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]
}
为了最终让我使用的程序正常工作。
devices = NSArray(contentsOfFile: path) as! [AnyObject]
游乐场持续 运行 的问题已通过 activity 监控并强制退出名为 com.apple.coresimulator 的进程解决,该进程被识别为没有响应。完成此操作后,游乐场 运行 立即。
我已经关注了这里的大量问题,但似乎没有任何效果。
我在 Playground
中使用 Swift3
。 运行 在 El Capitan 和 Xcode 8.1。
我有一个 plist
,根是 Dictionary
,包含一个 Int 值和两个二维 Int 数组。
plist
我关注的每个问题似乎都不奏效,我得到的最接近的问题是 playground 没有 return 错误,但它似乎一直 运行(旋转的图标永远不会停止)。
我目前的代码,我相信这是我实现的最接近的代码。
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)。一段时间后,执行因错误停止 "error: Execution was interrupted reason exc_bad_access (code=1 address=0x0)" 再次重启后代码工作。我如何将数据提取到 swift 中的数组中,因为此时 playground 正在显示 ["Level 2":["Col": <_NS_array0 0x7fc620d091a0>(
您使用了错误的 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]
}
为了最终让我使用的程序正常工作。
devices = NSArray(contentsOfFile: path) as! [AnyObject]
游乐场持续 运行 的问题已通过 activity 监控并强制退出名为 com.apple.coresimulator 的进程解决,该进程被识别为没有响应。完成此操作后,游乐场 运行 立即。