* throws拋出異常, 那么就必須通過try來處理
* try : 標準的處理方式, 該方式必須結(jié)合do catch來處理
* try? :告訴系統(tǒng)可能有錯, 也可能沒錯, 如果發(fā)生錯誤, 那么返回nil, 如果沒有發(fā)生錯誤, 會見數(shù)據(jù)包裝成一個可選類型的值返回給我們
這種使用方式, 相當于忽略錯誤
* try! : 告訴系統(tǒng)一定沒錯, 如果發(fā)生錯誤, 程序會崩潰. 不推薦使用
'' // 1.獲取JSON文件路徑
let path = NSBundle.mainBundle().pathForResource("MainVCSettings.json", ofType: nil)!
'' // 2.加載JSON文件
'' let data = NSData(contentsOfFile: path)!
'' // 3.將JSON文件加載進來的數(shù)據(jù)轉(zhuǎn)換為對象 字典數(shù)組
//try結(jié)合do..catch一起使用
do {
'' // 編寫有可能出現(xiàn)錯誤的代碼
'' let objc = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)
''? ?? }catch {
// 只要do后面大括號中的代碼拋出了異常, 就會執(zhí)行catch
// 如果do后面大括號中沒有拋出異常, 那么catch后面大括號中的代碼不執(zhí)行
'' WFLog(error)
}
//try!使用
let objc = try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)
作者:Windv587
鏈接:http://www.itdecent.cn/p/50b3d40f1150
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。