【问题标题】:Error: Cannot convert value of type 'URL' to expected argument type 'String'错误:无法将“URL”类型的值转换为预期的参数类型“字符串”
【发布时间】:2017-11-21 03:01:02
【问题描述】:

我在将 URL 转换为字符串时遇到问题。 getScreenShotDirectory() 路径是file:///Users/Pat/Desktop/。

我的目标是将其转换为字符串,因此路径可能类似于/Users/Pat/Desktop/

let urlString = getScreenShotDirectory()
let pathURL = URL(string: getScreenShotDirectory())!       // error 

如果需要,我很乐意提供更多代码。

【问题讨论】:

  • 你的描述真的很混乱。 urlString 应该是 URL 还是路径? getScreenShotDirectory() 究竟返回了什么?

标签: swift macos url path directory


【解决方案1】:

您的getScreenShotDirectory() 方法似乎已经是URL。因此,您在尝试将 URL 传递给 URL(string:) 方法时遇到错误,该方法当然需要 String,而不是 URL。

简单的解决方案是将URL正确转换为路径字符串:

let pathURL = getScreenShotDirectory() // URL
let pathString = pathURL.path // String

【讨论】:

  • 谢谢!这解决了我的问题(:@rmaddy
  • 不错。最好有默认方法,而不必在 try 中使用错误捕获!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-12
  • 2017-12-30
  • 2017-09-11
  • 1970-01-01
相关资源
最近更新 更多