2015-09-27 3 views
7

で拡張子のないファイル名を取得するために変更を破り、我々はコードを以下で拡張子のないファイルの短い名前を取得することができます:Swift1でSwift2

self.name = pathFilename.lastPathComponent.stringByDeletingPathExtension 

私はスウィフト2に更新しますが、このAPIはもう使用できません。警告メッセージで、NSURLを使用する必要があります。したがって、新しいコードは次のようになります:

これは複雑すぎるAPIの変更です。それを簡単にする良い方法はありますか?

答えて

18

なぜ:

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

私はスウィフトに堪能ではないですので、そこに必要ないくつか欠けている!または?があるかもしれません。

+0

あなたが正しいです。ありがとう。 – Howard

4

スウィフト2.2にこの作品:

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

スウィフト4

let url = URL(string: "https://example.com/myFile.html") 
if let fileName = url?.deletingPathExtension().lastPathComponent { 
    // fileName: myFile 
    self.name = fileName 
} 
関連する問題