原創文章,歡迎轉載。轉載請註明:關東昇的博客 php
Swift錯誤處理模式,在Swift 1.x和Swift 2.0是不一樣的兩種模式。java
Swift 1.x代碼錯誤處理模式採用Cocoa框架錯誤處理模式,到如今Objective-C還沿用這種處理模式,而Swift 2.0以後採用了do-try-catch錯誤處理模式。微信
下面的示例代碼是從文件中讀取字符串到內存中,若是使用Swift 1.x錯誤處理模式代碼以下:框架
import Foundation var err: NSError? //定義可選的NSError?變量 let contents = NSString(contentsOfFile: filePath, Ê encoding: NSUTF8StringEncoding, error: &err) if err != nil { //判斷err變量是否仍是nil // 錯誤處理 }
NSError?必定是可選的變量,由於要給它初始化爲nil。函數
判斷err變量是否仍是nil,若是仍是nil在代碼網站
let contents = NSString(contentsOfFile: filePath, Ê encoding: NSUTF8StringEncoding, error: &err)
方法調用過程當中沒有發生錯誤,不然說明有錯誤發生。url
上述代碼的構造函數,它的Swift語法定義以下: spa
init?(contentsOfURL url: NSURL, encoding enc: UInt, error error: NSErrorPointer)
構造函數的最後一個參數是NSErrorPointer(即NSError指針),那麼在實際調用時候咱們須要傳遞err變量地址(即&err),&是取地址符。當方法調用完成後,若是有錯誤則err變量會被賦值。.net
歡迎關注關東昇新浪微博@tony_ 關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php設計