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