(转载自:http://blog.csdn.net/ios_of_swift/article/details/47280483)
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{
}