swiftである変数がnilなら値を入れる方法について
タイトルのことを行いたいわけですが、やり方が何パターンかあります。
もっとも単純なものは
//パターン1
var str:String!
if str == nil{
str = "newValue"
}
次に、オプショナルバインディングを用いた時
//パターン2
var str:String!
if let _ = str{
//strがnilでないとき
}else{
//strがnilのとき
str = "newValue"
}
strがnilの時だけ値をいれたいので、else句以外は不要な上、冗長です。
次に、nil結合演算子を用いた時
//パターン3
var str:String!
str = str ?? "newValue"
この場合、とても簡潔に書けるのですが、strを二回書いてるところがなんだかダサいのです。
やはりパターン1がよいのでしょうか。
何か良い方法はありますか?