我需要url filepath是一个NSURL。我有这个:
let paths = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
// NSString *documentsDirectory = [paths objectAtIndex:0];
let documentsDirectory = paths[0] as String
var filePath:String? = nil
var fileNamePostfix = 0
do {
filePath =
"\(documentsDirectory)/\(dateTimePrefix)-\(fileNamePostfix++).mp4"
} while (NSFileManager.defaultManager().fileExistsAtPath(filePath))
我需要将其转换为NSURL,以便在self.fileOutput.startRecordingToOutputFileURL(< #outputFileURL:NSURL?#>,recordingDelegate:< #AVCaptureFileOutputRecordingDelegate?#>)方法中使用。
我试过了filePath as? NSURL()
但是不正确
谢谢!
答案 0 :(得分:134)
你需要这样做:
let fileUrl = NSURL(string: filePath)
或
let fileUrl = NSURL(fileURLWithPath: filePath)
取决于您的需求。见NSURL docs
答案 1 :(得分:14)
在swift 3中使用:
let url = URL(string: "Whatever url you have(eg: https://google.com)")
答案 2 :(得分:9)
在Swift3中:
let fileUrl = Foundation.URL(string: filePath)
答案 3 :(得分:5)
在Swift 4中转换为使用URL的URL
let fileUrl = URL.init(fileURLWithPath: filePath)
或
let fileUrl = URL(fileURLWithPath: filePath)
答案 4 :(得分:4)
要将String中的文件路径转换为NSURL,请遵循以下代码
var filePathUrl = NSURL.fileURLWithPath(path)