Apple Swift 3.0数据

Ste*_*oss 0 file nsdata swift swift3

我正在尝试使用:

init(contentsOf: URL, options: Data.ReadingOptions)
Run Code Online (Sandbox Code Playgroud)

在Swift 3.0中使用xCode 8.0.我使用的确切陈述是:

let jsonData = try Data.init(contentsOf: URL(file_path), options: .mappedIfSafe)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

let jsonData = try Data(contentsOf: URL(file_path), options: .mappedIfSafe)
Run Code Online (Sandbox Code Playgroud)

我正在关注文档

这不会编译,抱怨调用中的参数标签不正确.

我是斯威夫特的新手,所以请保持温柔.file_path是一个从字符串获得NSOpenPanel并使用字符串化的字符串stringValue.

谢谢!

vad*_*ian 6

不要结合使用字符串路径NSOpenPanel,获取url属性 - 避免创建URL的额外步骤 - 并将Data初始化程序包装在do - catch块中.

if let url = openPanel.url {
    do {
        let jsonData = try Data(contentsOf: url, options: .mappedIfSafe)
        // do things with jsonData
    } catch {
       print(error)
    }
}
Run Code Online (Sandbox Code Playgroud)