【问题标题】:Swift NSURLSession | Xcode 6.1 [duplicate]斯威夫特 NSURLSession | Xcode 6.1 [重复]
【发布时间】:2014-11-04 21:26:51
【问题描述】:
Value of optional type 'NSURL?' not unwrapped; did you mean to use '!' or '?'?

当我输入 "!""?" 时,我的应用无法构建。 这段代码在小牛队中工作,但自从我更新到 Yosemite 后,我得到了一个错误。 我相信这是一个语法错误,但我找不到解决方案。

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    var url = NSURL(string: "http://www.stackoverflow.com")

    let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in

        println(NSString(data: data, encoding:NSUTF8StringEncoding))

    }

【问题讨论】:

    标签: ios xcode url swift osx-yosemite


    【解决方案1】:

    不是Yosemite的问题,而是升级到Xcode 6.1

    NSURL 初始化器是可失败类型,这意味着如果作为字符串传递的 url 格式错误,它可以返回 nil。出于这个原因,您必须检查 not nil 并展开,您可以使用可选绑定来完成:

    var url = NSURL(string: "http://www.stackoverflow.com")
    if let url = url { // << Optional binding
        let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in
            println(NSString(data: data, encoding:NSUTF8StringEncoding))
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-22
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2017-11-13
      • 2015-08-19
      • 2014-09-11
      相关资源
      最近更新 更多