[Swift] ガード処理

Swiftでプログラムを書いていると、nilを返す可能性のあるAPIがかなり多いのですが、nilの場合のガード処理を書く場合は、guardキーワードを使うことができます。 ```swift `gutter:true; guard let content = try? Data(contentsOf: URL(fileURLWithPath: webStorageDataPath!)) else { return } // contentを使った処理を記載する ``` ガード処理を書く時には有効です。 初見で何をやっているのかわかりにくい点が難点です。 辞書から値を取得して、nilだったら初期値を設定したい場合は、以下のようにかけます。 ```swift `gutter:true; // 辞書から取得した値がnilなら空文字を設定する let userId = someDictionary["user_id"] as? String ?? "" ``` 型の制約が強いので値のチェックを厳にしないといけません。 面倒でも、!とかはあまり使わないようにしたいものです。

0 件のコメント :

コメントを投稿