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

原創文章,歡迎轉載。

轉載請註明:關東昇的博客 php

 

Swift錯誤處理模式,在Swift1.xSwift 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?必定是可選的變量。因爲要給它初始化爲nilpost

推斷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_關東昇。


關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
 

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

相關文章
相關標籤/搜索