【问题标题】:Swift 3 - No '+' candidates produce the expected contextual result type 'URL'Swift 3 - 没有“+”候选产生预期的上下文结果类型“URL”
【发布时间】:2017-01-06 07:15:14
【问题描述】:

我刚刚将我的 swift 项目升级到 swift 3,我想打开按钮 onclick 的 URL 之一。任何解释都很少的帮助将不胜感激。

错误提示;

No '+' candidates produce the expected contextual result type 'URL'

这里是代码;

@IBAction func GPerformance(_ sender: UIButton) {

    if let url = URL(string: "https://blablanet.blabla.gov.tr/analytics/saw.dll?Dashboard&NQUser="+USERNAME+"&NQPassword="+USERPASSWORD+"&portalPath=/shared/REPORT/_portal/PERFORMANCE&Page=WEEK%20Performance") {
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:])
        } else {
            UIApplication.shared.openURL(url)
        }
    }


}

【问题讨论】:

  • 不确定这里的问题,但您应该使用类似NSURLComponents 的方式以编程方式生成此字符串
  • 我的错。实际上在 USERNAME @Nirav D 之前有 + 运算符并且它不起作用。
  • @IbrahimBOLAT 我已将您的代码复制并粘贴到 Xcode 中,代码中没有错误。

标签: url swift3


【解决方案1】:
let url = URL(string: String(format: "https://blablanet.blabla.gov.tr/analytics/saw.dll?Dashboard&NQUser=%@&NQPassword=%@&portalPath=/shared/REPORT/_portal/PERFORMANCE&Page=WEEK%20Performance",USERNAME!,USERPASSWORD!))

这会解决你的问题

【讨论】:

    【解决方案2】:

    在 Swift 中,我们可以使用字符串插值将变量添加到字符串中。 更多内容请关注here

    要使用它,用反斜杠和一对括号在字符串内包装变量。

    那么说

    let myName = "Bob"
    
    print("Hello my name is: \(myName)")
    //Hello my name is: Bob
    

    所以你的网址应该是

    @IBAction func GPerformance(_ sender: UIButton) {
        if let url = URL(string: "https://blablanet.blabla.gov.tr/analytics/saw.dll?Dashboard&NQUser=\(USERNAME)&NQPassword=\(USERPASSWORD)&portalPath=/shared/REPORT/_portal/PERFORMANCE&Page=WEEK%20Performance") {
            if #available(iOS 10.0, *) {
                UIApplication.shared.open(url, options: [:])
            } else {
                UIApplication.shared.openURL(url)
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多