Avatar
Avatar
koher
Swiftでsmart cast的nilチェックほしいとき結構ある気がするんですがどうでしょう?たとえば、Optionalなプロパティがnilでないことを確認した場合に、そのスコープ内でそのプロパティに変更を加えたい場合とか。 if foo != nil { foo.append(foo.bar > 0 ? 42 : -1) } fooArray だとして、一度アンラップしてしまうと変更時にCopy-on-Writeのコピーが走ってしまうし。
omochimetaru 6/19/2025 4:07 AM
このCoWが生じるかどうかはどうだろうなあ、optional var を開いて、書き換えて、書き戻す手順だったら、共有じゃなくてmoveとして回避できんかな