错误:类型'String'的值没有成员'URLByAppendingPathComponent'

use*_*630 4 ios swift

我的错误是: 'String'类型的值没有成员'URLByAppendingPathComponent'

我在这一行得到了错误:

 let savePath = documentDirectory.URLByAppendingPathComponent("mergeVideo-\(date).mov")
Run Code Online (Sandbox Code Playgroud)

我的完整代码:

  // 4 - Get path
  let documentDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] 
  var dateFormatter = NSDateFormatter()
  dateFormatter.dateStyle = .LongStyle
  dateFormatter.timeStyle = .ShortStyle
  let date = dateFormatter.stringFromDate(NSDate())
  let savePath = documentDirectory.URLByAppendingPathComponent("mergeVideo-\(date).mov")

    let url = NSURL(fileURLWithPath: savePath)
Run Code Online (Sandbox Code Playgroud)

我按照本教程:在这里

vad*_*ian 7

它的

let savePath = (documentDirectory as NSString).stringByAppendingPathComponent("mergeVideo-\(date).mov")
Run Code Online (Sandbox Code Playgroud)

既然documentDirectory是一个String而不是一个NSURL

编辑

我建议使用此API:

let documentDirectory = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: false)
var dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .LongStyle
dateFormatter.timeStyle = .ShortStyle
let date = dateFormatter.stringFromDate(NSDate())
let saveURL = documentDirectory.URLByAppendingPathComponent("mergeVideo-\(date).mov") // now it's NSURL
Run Code Online (Sandbox Code Playgroud)

Swift 3+

let documentDirectory = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
var dateFormatter = DateFormatter()
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .short
let date = dateFormatter.string(from: Date())
let saveURL = documentDirectory.appendingPathComponent("mergeVideo-\(date).mov")
Run Code Online (Sandbox Code Playgroud)