1.在swift1.0时代,解析的前几句可能是这样的
<span style="white-space:pre"> </span>let url = NSURL(string: "Server")
let data = NSData(contentsOfURL: url)
let object = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers,error:nil)
或者是这样的
<span style="white-space:pre"> </span>var url = NSURL(string:"Server")
<span style="white-space:pre"> </span>var data = NSData.dataWithContentsOfURL(url,options:NSDataReadingOptions.DataReadingUncached,error:nil)
<span style="white-space:pre"> </span>var json:AnyObject = NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions.AllowFragments,error:nil)
但是一旦你用在Swift2.0里面就......Extra argument ’error‘ in call了
然后我就必应了一下
发现Swift2.0的拋错误的正确姿势是这样的
do {
let object = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
}
catch {
print(error)
}
顿时hehe了
所以说应该这样写喽
<span style="white-space:pre"> </span>let url = NSURL(string: "Server")
let data = NSData(contentsOfURL: url!)
do {
let object = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
}
catch {
print(error)
}
原来如此,这里Swift2.0的抛错误方式再也不是error:nil了
而是do{
try ...
}
catch{
}