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.weather-forecast.com/locations/London/forecasts/latest")
if url != nil {
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
var urlContenent = NSString(data: data, encoding: NSUTF8StringEncoding)
})
}
else{
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
这是我得到的错误
无法调用'!='使用类型'的参数列表(@ lvalue NSURL, NilLiteralConvertible)'
答案 0 :(得分:0)
从技术上讲,这不是您问题的答案,但您可以使用if let
声明
if let url = url{
let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: { (data, response, error) -> Void in
var urlContenent = NSString(data: data, encoding: NSUTF8StringEncoding)
}
这也将检查你的网址是否为零,如果不是,它将继续if语句。如果你使用它,你也不再需要强行打开url
答案 1 :(得分:0)
您使用的是Xcode 6.0.1,它早于introduced in Xcode 6.1可用的初始值设定项。因此,您的网址不是可选的,会产生您描述的错误(将非可选值与nil
进行比较)。
自6.0.1以来,Swift发生了重大变化。我可能会建议升级到Xcode的当前生产版本。