2014-11-04 73 views
0
Value of optional type 'NSURL?' not unwrapped; did you mean to use '!' or '?'? 

當我進入"!""?"我的應用程序編譯失敗。 此代碼在特立獨行的工作,但由於我更新到優勝美地我得到一個錯誤。 我相信它的語法錯誤,但我找不到解決方案。Swift NSURLSession |的Xcode 6.1

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)) 

    } 

回答

0

這不是一個關於優勝美地的問題,而是升級到Xcode的6.1

NSURL初始化是failable型的,這意味着它可以返回nil如果作爲一個字符串傳遞的URL格式不正確。出於這個原因,你必須檢查不是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)) 
    } 
}