これは? タイトルの通りです。 公式のSwiftガイドブックのAutomatic Reference Countingの資料をもとに書き下しています。 はじめに SwiftのメモリはガベージコレクションではなくARC(Automatic Reference Counting)によって管理されています。 まずはこのARCについてサクッと説明した後、それに関連する強参照,弱参照(weak)そして非所有参照(unowned)について説明します。 ARCとは 新しいインスタンスを初期化する際に、ARCはそのインスタンスの型や保有するプロパティに応じたメモリを確保します。 そして、そのインスタンスが必要なくなったらARCは確保しているメモリを解放します。 しかし、まだ必要なインスタンスにもかかわらずメモリを解放してしまった場合、その後インスタンスにアクセスしようとすれば当然クラッシュしてしまいます。