你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 《從零開始學Swift》學習筆記(Day 52)——Cocoa錯誤處理模式

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

編輯:IOS開發綜合

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變量會被賦值。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved