
SwiftのState Patternでif文地獄から脱出する
State Patternは、状態ごとの振る舞いと遷移をオブジェクトやenumにまとめ、分散した条件分岐を減らします。Swiftの画面状態をリファクタリングする手順と、Strategy Patternに似て見える構造を意図で見分ける方法を解説します。
記事を読むARCHIVE · 27
基礎概念から実務の判断基準まで、順にご覧ください。

State Patternは、状態ごとの振る舞いと遷移をオブジェクトやenumにまとめ、分散した条件分岐を減らします。Swiftの画面状態をリファクタリングする手順と、Strategy Patternに似て見える構造を意図で見分ける方法を解説します。
記事を読む
参照コピー、浅いコピー、深いコピーでは、新しく作成するデータの範囲が異なります。Swiftの値型に参照型を含める場合の落とし穴と、Copy-on-Writeが独立したコピーを維持する仕組みを解説します。
記事を読む
Swiftのguardは失敗条件を先に処理し、正常な処理の流れを平坦に保ちます。ifとの違いであるコンパイラの保証、オプショナルバインディングの有効範囲、return・throw・continueの使い分けを実行例で確認します。
記事を読む
アプリを作っていると、似たようなオブジェクトを数千、数万個も生成することがあります。地図上に数万個のマーカーを配置する機能が代表例で、このような場合はメモリグラフが上がり続けやすくなります。
記事を読む
try?でnilにまとめられる二種類の失敗を、typed throwsとResultで区別し、getで成功値の取得とエラー再送出を確認します。
記事を読む