【问题标题】:How to concatenate unwrapped optional and string如何连接未包装的可选和字符串
【发布时间】:2017-02-10 09:39:11
【问题描述】:

执行下面的代码应该会在baseURL + path 打开一个新的 URL。但是,它会导致以下错误:

error:Argument label String do not match any available overloads in let url = URL(String:urlString)

baseURLpath 变量来自 JSON 文件。 baseURL 是一个字符串,path 是一个未包装的可选项。

 override func viewDidLoad() {
    super.viewDidLoad()
    let newPath = path! as! String
    let urlString = baseURL + newPath
    let url = URL(String:urlString)
    let requestObj = URLRequest(URL: url)
    webView.loadRequest(requestObj)
}

我该如何解决这个问题?

【问题讨论】:

  • “我在 let url = URL(String:urlString) 中遇到错误”。我们如何知道您遇到了什么错误?
  • 我收到这个错误:参数标签字符串不匹配任何可用的重载

标签: xcode types swift3


【解决方案1】:

假设baseURLpath 的类型为String

let baseURL = "http://10.150.160.170"
let path = "/welcome-page"
let urlString = baseURL + path
let url = URL(string: urlString)
let requestObj = URLRequest(url: url!)

【讨论】:

  • 路径是可选的,我将它转换为 newPath 中的字符串,但是我在let url = URL(String:urlString) 中遇到错误,说参数标签字符串不匹配任何可用的重载
  • 在这一行使用小写stringlet url = URL(String:urlString)
猜你喜欢
  • 2017-03-26
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多