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 件のコメント :
コメントを投稿