轉載請註明:關東昇的博客 php
Swift錯誤處理模式,在Swift1.x和Swift 2.0是不一樣的兩種模式。html
Swift 1.x代碼錯誤處理模式採用Cocoa框架錯誤處理模式,到現在Objective-C還沿用這樣的處理模式,而Swift2.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。post
推斷err變量是否仍是nil。假設仍是nil在代碼url
let contents = NSString(contentsOfFile: filePath, Ê encoding: NSUTF8StringEncoding, error: &err)
方法調用過程當中沒有發生錯誤,不然說明有發生錯誤。spa
上述代碼的構造函數,它的Swift語法定義例如如下: 設計
init?(contentsOfURL url: NSURL, encoding enc: UInt, error error: NSErrorPointer)
構造函數的最後一個參數是NSErrorPointer(即NSError指針),那麼在實際調用時候咱們需要傳遞err變量地址(即&err)。&是取地址符。指針
當方法調用完畢後,假設有錯誤則err變量會被賦值。
歡迎關注關東昇新浪微博@tony_關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
不少其它精品iOS、Cocos、移動設計課程請關注智捷課堂官方站點:http://www.zhijieketang.com
智捷課堂論壇站點:http://51work6.com/forum.php