为AVAudioRecorder调用初始化程序 - Swift 2.0

Oct*_*eño 2 initializer avaudiorecorder swift swift2

这似乎是我向Swift 2.0过渡的一个问题:

我正在尝试初始化我的AVAudioRecorder并且设置参数(我曾经给出nil)将不再接受这个.思考?

*var session = AVAudioSession.sharedInstance()
        do{
            try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
        } catch{
        }
        audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
        audioRecorder.meteringEnabled = true
        audioRecorder.prepareToRecord()
        audioRecorder.record()*
Run Code Online (Sandbox Code Playgroud)

它给了我错误:**

"无法使用参数列表类型'(URL:NSURL,settings:nil)'调用类型'AVAudioRecorder'的初始值设定项."

**

顺便提一下,filePath的类型是NSURL.谢谢你们每一个人的帮助!

mat*_*att 5

遇到这样的问题时,请查看标题中的声明:

init(URL url: NSURL, settings: [String : AnyObject]) throws
Run Code Online (Sandbox Code Playgroud)

正如你从该声明中可以清楚地看到的那样,关于这一行的所有内容都是错误的:

audioRecorder = AVAudioRecorder(URL: filePath, settings: nil)
Run Code Online (Sandbox Code Playgroud)
  • 您无法提供nil设置.如果没有设置,请传递一个空字典.

  • 这是一个throws初始化器; 你必须说出try并将其包含在一个do/catch结构中.