我的记录函数出现错误“类型 'String' 的值没有成员 'URLbyAppending'”

Error " Value of type 'String' has no member 'URLbyAppending' " with my Record Function

我的录音功能出现错误... 它说“ 'String' 类型的值没有成员 'URLbyAppending' “

    func startRecording() {
        let audioFilename = getDocumentsDirectory().URLbyAppending("recording.m4a")
        let audioURL = NSURL(fileURLWithPath: audioFilename)

        let settings = [
            AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
            AVSampleRateKey: 12000.0,
            AVNumberOfChannelsKey: 1 as NSNumber,
            AVEncoderAudioQualityKey: AVAudioQuality.High.rawValue
        ]

这很烦人,因为以前用我的 Xcode 6 它工作得很好...

我需要一些帮助...谢谢

编辑

这是我的 getDocumentsDirectory 函数

    func getDocumentsDirectory() -> String {
    let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    let documentsDirectory = paths[0]
    return documentsDirectory

你的 getDocumentsDirectory 函数,你应该包含它,显然 return 是一个字符串,而不是 URL。使用 stringByAppendingPathComponent.

修复它

或者,您可以直接将 getDocumentsDirectory 函数更改为 return a url,并将调用更改为:

func getDocumentsDirectory() throws -> NSURL {
    return try NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
}

let audioUrl = try getDocumentsDirectory().URLByAppendingPathComponent("recording.m4a")

请注意,由于 getDocumentsDirectory 可以抛出(URLForDirectory 可以抛出)getDocumentsDirectory 必须用 try 调用。