在Swift中模糊地使用变量

时间:2017-01-08 11:57:58

标签: swift

我将Swift转换为current Swift syntax,现在在此代码中出现以下错误:

let paths = NSSearchPathForDirectoriesInDomains(
                FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let documentsDirectory: AnyObject = paths[0] as AnyObject
let dataPath = documentsDirectory.appendingPathComponent(saveFileName)

错误:Ambiguous use of appendingPathComponent

1 个答案:

答案 0 :(得分:3)

基本上

  • 从不将类型转换为非特定类型。
  • 根本不会施放明确的已知类型。

NSSearchPathForDirectoriesInDomains清楚地返回[String],因此请删除注释和演员。

let documentsDirectory = paths[0] 

但是建议使用与URL相关的API,因为在Swift 3中,String中的路径功能已被删除。

let documentsDirectory = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let dataURL = documentsDirectory.appendingPathComponent(saveFileName)

如果你真的需要字符串路径add

let dataPath = dataURL.path