2016-07-17 121 views
12

In Swift 2, avevo usato il seguente codice:Tipo 'URL' non ha alcun membro 'fileURL' - Swift 3

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

Ora, usando Xcode 8 e Swift 3, Xcode tradotto automaticamente a:

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

Sulla seconda riga, con la dichiarazione di url, Xcode mi dà il seguente errore:

Type 'URL' has no member 'fileURL'

Come posso correggi questo errore? Grazie!

+1

In realtà la sintassi corretta per la linea due in Swift 2 è 'let url = NSURL (fileURLWithPath: path)' (anche se il metodo di classe sembra funzionare), ecco perché la traduzione non è riuscita. La proprietà del percorso – vadian

risposta

19

Il URL struct a Swift 3 ha un inizializzatore per quella

let url = URL(fileURLWithPath: path) 
3

Se non si utilizza path successiva, è possibile scrivere qualcosa del genere:

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

sarà sempre disponibile per l'url se 'url.isFileURL' è true, basta controllare per sapere se' url.path' è adatto per l'inserimento in FileManager. –

Problemi correlati