Blog
Booting memory

This scene needs WebGL and your browser couldn't start it. The write-up covers the whole story.

x0—Strong0Weak0Unowned0
Sessions0Leaked0StrongWeak

FinApp Clean

MVVM · Clean Architecture

user@clean-arch.ios
••••••••••••

Builds DashboardVC, ViewModel and Interactor

Dashboard

Live

Feature

Module payload

Owned by the Dashboard. Going back frees it immediately.

How ARC works, from a RAM cell to a retain cycle

An interactive, full-screen walkthrough of how Swift manages memory, drawn on real-looking hardware.

01 · Hardware. A DDR module lies on a board, its chips printed with addressed memory cells. Allocate an object and watch a data packet cross the memory bus, light up a cell and raise the object above it. Then add strong, weak and unowned references, release them one by one, and see what the retain count, the side table and a dangling pointer actually do.

02 · Architecture. The same rules at app scale. Log in to build a Dashboard (ViewController → ViewModel → Interactor), log out, and find out why a strong back-reference leaves two objects alive forever. Flip the switch to make it weak and watch the whole screen unwind.

Drag to orbit, scroll or pinch to zoom, double-tap to recenter. Press ▶ to let it tell the story by itself, or the eye icon for a clean, uncluttered view.

swift · arc · memory · clean-architecture · three.js

← Back to blog