Swiftのフライウェイトパターン:オブジェクト共有でメモリを節約する方法
アプリを作っていると、似たようなオブジェクトを数千、数万個も生成することがあります。地図上に数万個のマーカーを配置する機能が代表例で、このような場合はメモリグラフが上がり続けやすくなります。
記事を読むDESIGN · 71 ARTICLES
ソフトウェア設計の記事を新着順にご覧ください。
すべての記事
アプリを作っていると、似たようなオブジェクトを数千、数万個も生成することがあります。地図上に数万個のマーカーを配置する機能が代表例で、このような場合はメモリグラフが上がり続けやすくなります。
記事を読むリリース直前に見つかるバグには典型的なものがあります。フロントエンドは割引率を10%、バックエンドは15%で計算する、文書では必須のフィールドが実際のAPIから消えている、といったケースです。コード自体はどちらも正常です。問題は同じ情報が2か所にあり…
記事を読むiOS開発では、基本機能を変えずにロギングやキャッシュだけ追加したくなることがあります。しかしそのためにクラス継承を始めると、いつの間にか継承ツリーが複雑になりがちです。
記事を読むフォルダーの中にフォルダー、その中にさらにファイル。こうしたツリー構造をコードで扱ったことがあるなら、一度は途方に暮れたはずです。
記事を読むAlamofireはライブラリ、SwiftUIはフレームワークと呼びます。でも、どちらも「誰かが作ったコードを使う」ものではありませんか。何が違うのでしょうか。
記事を読むプロトタイプパターンは既存のオブジェクトを複製し、生成コストと設定の重複を減らします。Swiftの値型のコピーとクラスのNSCopyingの違い、浅いコピーとCopy-on-Writeが作用する場面をまとめます。
記事を読む