所以我把NSURL改成了String.

后来我想把它改成NSURL,所以我试着把它转换成下面的样子,但是我丢失了上面字符串版本中出现的两个正斜杠,这反过来会 destruct 代码,因为url是无效的.

为什么我的转换返回到NSURL会从我给出的String中删除两个斜杠,我如何才能转换回包含三个斜杠的NSURL

var urlstring: String = recordingsDictionaryArray[selectedRow]["path"] as String
println("the url string = \(urlstring)")
// looks like file:///Users/........etc
var url = NSURL.fileURLWithPath(urlstring)
println("the url = \(url!)")
// looks like file:/Users/......etc

推荐答案

fileURLWithPath()用于将普通文件路径(例如"/path/to/file")转换为URL.你的urlString是一个完整的URL字符串,包括方案,所以你应该使用

let url = NSURL(string: urlstring)

将其转换回NSURL.例子:

let urlstring = "file:///Users/Me/Desktop/Doc.txt"
let url = NSURL(string: urlstring)
println("the url = \(url!)")
// the url = file:///Users/Me/Desktop/Doc.txt

Swift相关问答推荐

SwiftUI:以程序方式滚动一个长文本

多个提取来计算核心数据中的记录

如何在AudioKit中实现自定义音效 node ?

如何写一个;风格;视图修饰符,它会影响特定类型的所有嵌套视图?

macOS SwiftUI: 如何触发删除一个项目?

将弱引用作为类函数引用传递时,弱引用无法按预期工作

在领域 SwiftUI 异常中使用 Apple 登录:无法识别的 Select 器发送到实例

PassthroughSubject 的 AsyncPublisher 值属性未生成所有值

从 iPhone 中的安全飞地获取真正的随机数?

Swift 包管理器 Package.resolved 文件末尾的版本是什么意思?

无法使用 RealityKit 播放 USDZ 动画

如何在 SwiftUI 中将图像传递到 2 个视图

Swift 2 或 3 中的 Google Analytics 问题

仅在 Swift 中创建 Setter

你如何在 UIBarItem 中使用 setTitleTextAttributes:forState?

如何使用 swift 将 Images.xcassets 中的图像加载到 UIImage 中

为什么'nil' 与 Swift 3 中的 'UnsafePointer' 不兼容?

为 UIImagePicker 设置委托返回错误

在 Swift 中指定 UITextField 的边框半径

WKWebView 确实从本地文档文件夹加载资源