Swift錯誤處理模式,在Swift1.x和Swift 2.0是不同的兩種模式。
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。
判斷err變量是否還是nil,如果還是nil在代碼
let contents = NSString(contentsOfFile: filePath, Ê encoding: NSUTF8StringEncoding, error: &err)
方法調用過程中沒有發生錯誤,否則說明有錯誤發生。
上述代碼的構造函數,它的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
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。