Swift字符串lastPath组件

mspsb9vt  于 2022-11-21  发布在  Swift
关注(0)|答案(1)|浏览(141)

我有一个String的扩展,如下所示:

extension String {
    var fileURL: URL {
        return URL(fileURLWithPath: self)
    }

    func appendingPathComponent(_ string: String) -> String {
        return fileURL.appendingPathComponent(string).path
    }

    var lastPathComponent:String {
        get {
            return fileURL.lastPathComponent
        }
    }

   var deletingPathExtension: String {
    return fileURL.deletingPathExtension().path
   }
}

问题是lastPathComponent包含'/',而NSString对应项不包含此。什么是优雅的解决方法?在StackOverflow中未找到优雅的答案。
编辑:下面是给我带来问题的真实的代码:

filenameField.text = path.lastPathComponent.deletingPathExtension

我通过切换两个例程来修复它,即

filenameField.text = path.deletingPathExtension.lastPathComponent
5rgfhyps

5rgfhyps1#

我建议用

(str as NSString).lastPathComponent

在这种情况下,您不会创建新对象。

相关问题