Swift Copy-on-Write:値型がプロトタイプパターンを置き換える仕組み(まとめ)
Swift Copy-on-Writeは、値型を代入するとストレージを共有し、一方が変更された瞬間にだけ実際のコピーを行います。この最適化が値の意味を保ちながら、プロトタイプパターンの役割を小さくする仕組みを解説します。
記事を読むLANGUAGE · 52 ARTICLES
Swift言語の記事を新着順にご覧ください。
すべての記事
Swift Copy-on-Writeは、値型を代入するとストレージを共有し、一方が変更された瞬間にだけ実際のコピーを行います。この最適化が値の意味を保ちながら、プロトタイプパターンの役割を小さくする仕組みを解説します。
記事を読むiOSのクラッシュログで最もよく見かける文言の一つが、unrecognized selector sent to instanceです。
記事を読むSwiftでコードを書いていると、ふと疑問に思う瞬間があります。なぜオプショナルはこれほど厳格なのか、なぜ配列はコピーされるのか、なぜguardがあるのか。こうした疑問を掘り下げていくと、Swiftが最初から掲げていた3つの目標、Safe(安全)、Fast(高速)、Expressive(表現力)に行き着きます。
記事を読むSwift Stringが整数インデックスを許可しない理由を、拡張書記素クラスタから説明します。ハングルの組み合わせ文字列におけるCharacter・Unicode scalar・UTF-8の違いを実行結果で確認します。
記事を読むObjective-Cコードで角括弧に囲まれた[receiver message]構文は、一見すると普通のメソッド呼び出しに見えます。
記事を読む参照コピー、浅いコピー、深いコピーでは、新しく作成するデータの範囲が異なります。Swiftの値型に参照型を含める場合の落とし穴と、Copy-on-Writeが独立したコピーを維持する仕組みを解説します。
記事を読むSwiftのguardは失敗条件を先に処理し、正常な処理の流れを平坦に保ちます。ifとの違いであるコンパイラの保証、オプショナルバインディングの有効範囲、return・throw・continueの使い分けを実行例で確認します。
記事を読むSwiftのエラー処理ツールは、失敗をいつ処理するか、どの情報を保持するかによって役割が異なります。throws・do-catch・try?・try!・Resultの選び方を、実行結果とともに整理します。
記事を読む