类型'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的主要内容,如果未能解决你的问题,请参考以下文章