如何在swift中将此var字符串转换为NSURL

时间:2014-06-25 13:46:32

标签: swift nsurl ios8

我需要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()但是不正确

谢谢!

5 个答案:

答案 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)