在Swift2中获取不带扩展名的文件名的重大变更

83qze16e  于 2022-11-23  发布在  Swift
关注(0)|答案(3)|浏览(218)

在Swift1中,我们可以通过以下代码获得不带扩展名的文件短名称:

self.name = pathFilename.lastPathComponent.stringByDeletingPathExtension

当我更新到Swift 2时,这个API不再可用。由于警告消息,我必须使用NSURL。因此新代码将是:

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

这是太复杂的API破坏性的变化。有没有更好的方法,可以使它更简单?

vtwuwzda

vtwuwzda1#

为什么不:

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

我不流利的斯威夫特,所以可能有一些失踪的!?需要在那里。

xlpyo6sf

xlpyo6sf2#

雨燕4

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

f45qwnt83#

    • Swift 5.5**上的此工作:
let nameOnly = (fileName as NSString).deletingPathExtension
let fileExt  = (fileName as NSString).pathExtension

相关问题