2015-09-27 9 views
7

In SWIFT1 zu bekommen, können wir Kurznamen ohne Erweiterung durch folgenden Code-Datei erhalten:Brechen Änderung Dateinamen ohne Erweiterung in Swift2

self.name = pathFilename.lastPathComponent.stringByDeletingPathExtension 

Während ich Swift aktualisiert 2 Diese API ist nicht mehr vorhanden. Mit der Warnmeldung muss ich NSURL verwenden. So wird der neue Code sein:

var filename = NSURL(fileURLWithPath: str).lastPathComponent 
filename = NSURL(fileURLWithPath: filename!).URLByDeletingPathExtension?.relativePath 

Es ist zu komplex API brechen Änderung. Gibt es einen besseren Weg, der es einfacher machen könnte?

Antwort

18

Warum nicht:

self.name = NSURL(fileURLWithPath: str).URLByDeletingPathExtension?.lastPathComponent 

Ich bin nicht fließend in Swift so kann es einige ! oder ? dort benötigt fehlt.

+0

Sie richtig sind. Vielen Dank. – Howard

4

Diese Arbeit auf Swift 2.2:

let nameOnly = (fileName as NSString).stringByDeletingPathExtension 
let fileExt = (fileName as NSString).pathExtension 
1

Swift 4

let url = URL(string: "https://example.com/myFile.html") 
if let fileName = url?.deletingPathExtension().lastPathComponent { 
    // fileName: myFile 
    self.name = fileName 
} 
Verwandte Themen