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

原創文章,歡迎轉載。轉載請註明:關東昇的博客  php

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

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

相關文章
相關標籤/搜索