《從零開始學Swift》學習筆記(Day 52)——Cocoa錯誤處理模式


原創文章,歡迎轉載。轉載請注明:關東升的博客

 

Swift錯誤處理模式,在Swift1.xSwift 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_關東升。
關注智捷課堂微信公共平台,了解最新技術文章、圖書、教程信息
 

更多精品iOSCocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php

 

 

关注微信公众号

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com