getDocumentsDirectory Swift5 替代方案

Ole*_*ndr 2 ios swift3 swift5

Swift 3.0来自at处有错误 Swift 5.0

在此输入图像描述

代码:

//Create audio file name URL
let audioFilename = getDocumentsDirectory().appendingPathComponent("audioRecording.m4a")

//Create the audio recording, and assign ourselves as the delegate
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我认为它应该是这样的:

   func getDocumentsDirectory() -> URL
    {
        let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
        let documentsDirectory = paths[0]
        return documentsDirectory
    }
Run Code Online (Sandbox Code Playgroud)

这是对的吗?或不?

小智 5

您可以使用以下代码:

func getDocumentsDirectory() throws -> URL {
     return try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
}
Run Code Online (Sandbox Code Playgroud)

不要忘记处理异常情况,

try {
   let documents = try? getDocumentsDirectory()
   ...
} catch let error {
   print("something went wrong: \(error)")
}
Run Code Online (Sandbox Code Playgroud)