web-dev-qa-db-fra.com

Comment convertir cette chaîne var en NSURL dans swift

J'ai besoin de l'URL filepath être un NSURL. J'ai ceci:

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

J'ai besoin de convertir cela en NSURL pour une utilisation dans la méthode self.fileOutput.startRecordingToOutputFileURL (<# outputFileURL: NSURL? #>, RecordingDelegate: <#AVCaptureFileOutputRecordingDelegate? #>).

J'ai essayé filePath as? NSURL() mais ce n'est pas correct

Merci!

66
user3745888

tu as besoin de faire:

let fileUrl = NSURL(string: filePath)

ou

let fileUrl = NSURL(fileURLWithPath: filePath)

selon vos besoins. Voir documentation NSURL

138
Jiaaro

Dans Swift 3 utiliser:

let url = URL(string: "Whatever url you have(eg: https://google.com)")

14
Sreedeepkesav M S

Dans Swift3:
let fileUrl = Foundation.URL(string: filePath)

9
VivienG

in Swift 4 pour convertir en URL utiliser URL

let fileUrl = URL.init(fileURLWithPath: filePath)

ou

let fileUrl = URL(fileURLWithPath: filePath)
5
Kosar

Pour convertir le chemin de fichier dans String en NSURL, observez le code suivant

var filePathUrl = NSURL.fileURLWithPath(path)
4
user2342053