Swift URL resourceSpecifier 不可用

Posted

技术标签:

【中文标题】Swift URL resourceSpecifier 不可用【英文标题】:Swift URL resourceSpecifier is unavailable 【发布时间】:2017-04-25 16:03:48 【问题描述】:

我正在将代码从 Objective-C 转换为 Swift 3,并且在我编写这段代码时

   let url = URL(string:"http://example.com/index.html")
   var formattedURL:String = url!.resourceSpecifier

我收到一个错误“‘resourceSpecifier’不可用:请改用pathqueryfragment”。我该如何解决这个问题?

【问题讨论】:

resourceSpecifierNSURL 的属性。虽然您通常在 Swift 3 中使用 URL,但您仍然可以使用 NSURL URL中resourceSpecifier的等价物是什么? 没有,这就是问题所在。你可以去掉方案和冒号来得到相同的结果。 【参考方案1】:

您可以将URL 桥接到NSURL

let url = URL(string:"http://example.com/index.html")!
let formattedURL = (url as NSURL).resourceSpecifier

【讨论】:

如果这是唯一的用法,也可以使用NSURL 开头。 URL中resourceSpecifier的等价物是我的主要兴趣。我知道我可以随时使用 NSURL。 resourceSpecifier 未在 URL 中实现。你可以考虑编译器的建议。【参考方案2】:
url.absoluteString.replacingOccurrences(of: "\(url.scheme ?? "")://", with: "")

【讨论】:

以上是关于Swift URL resourceSpecifier 不可用的主要内容,如果未能解决你的问题,请参考以下文章

swift iOS URL Schemes Swift

类型'URL'没有成员'fileURL' - Swift 3

Swift3 iOS - 如何在 URL 数组中搜索 URL [URL?]

swift 从swift 3中的URL获取原始字符串

swift Swift 3从url获取json序列化

swift swift中的“NSURL == String url”扩展名