2015-08-25 23 views
1

我下载一个网页的HTML源代码是这样的:HTML代码斯威夫特字符串(没有的NSString)

let url = NSURL(string: "http://www.example.com") 
var error: NSError? 
let html = NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: &error) 

if (error != nil) { 
    println("whoops, something went wrong") 
} else { 
    println(html!) 
} 

但我想获得它的字符串,而不是NSString的。有什么办法吗?

回答

1

斯威夫特的字符串也接受同样的初始化:

let html = String(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: &error) 

我会建议使用安全与if let为你的价值观展开:

var error: NSError? 
if let url = NSURL(string: "http://www.example.com"), let html = String(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error) { 
    if error != nil { 
     println(error) 
    } else { 
     println(html) 
    } 
} 

最后要注意的:没有必要使用周围的状况括号在Swift中。


更新夫特2(的Xcode 7)

if let url = NSURL(string: "http://www.example.com"), 
    let html = try? String(contentsOfURL: url, encoding: NSUTF8StringEncoding) { 
     print(html) 
}