类型'URL'没有成员'fileURL' - Swift 3

Posted

技术标签:

【中文标题】类型\'URL\'没有成员\'fileURL\' - Swift 3【英文标题】:Type 'URL' has no member 'fileURL' - Swift 3类型'URL'没有成员'fileURL' - Swift 3 【发布时间】:2016-07-17 15:15:25 【问题描述】:

在 Swift 2 中,我使用了以下代码:

let path = NSBundle.mainBundle().pathForResource("Document", ofType: "pdf")!
let url = NSURL.fileURLWithPath(path)
webView.loadRequest(NSURLRequest(URL: url))

现在,使用 Xcode 8 和 Swift 3,Xcode 自动将其翻译为:

let path = Bundle.main.pathForResource("Translation", ofType: "pdf")!
let url = URL.fileURL(withPath: path)
webView.loadRequest(URLRequest(url: url))

在第二行,url 的声明,Xcode 给了我以下错误:

类型“URL”没有成员“fileURL”

如何解决此错误?谢谢!

【问题讨论】:

实际上 Swift 2 中第二行的正确语法是 let url = NSURL(fileURLWithPath:path)(虽然类方法似乎有效),这就是翻译失败的原因。 【参考方案1】:

Swift 3 中的 URL 结构有一个初始化器

let url = URL(fileURLWithPath: path)

【讨论】:

【参考方案2】:

如果以后不使用path,可以这样写:

let url = Bundle.main.urlForResource("Translation", withExtension: "pdf")

【讨论】:

如果url.isFileURL 为真,path 属性将始终可用于您的 url,只需检查它以了解 url.path 是否适合输入到 FileManager。

以上是关于类型'URL'没有成员'fileURL' - Swift 3的主要内容,如果未能解决你的问题,请参考以下文章

关于ShowWindow(SW_HIDE);

Swift Firebase:无法在 fileURL 中存储 _SwiftValue 类型的对象

华三链路聚合实验配置

类型“字符串”没有成员“播放”

Scala抽象类型

QML:如何获取文件baseName