『ゼロから学ぶSwift』学習ノート(Day 52)——Cocoaエラー処理モード

1405 ワード

オリジナルの文章、転載を歓迎します.転載は明記してください:関東昇のブログ
 
Swiftエラー処理モードは、Swift 1にある.xとSwift 2.0は異なる2つのモードです.
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)

メソッド呼び出し中にエラーは発生しませんでした.そうしないと、エラーが発生したことを示します.
上記のコードのコンストラクション関数は、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