Understanding Retain Cycles in Swift (and How [weak self] Fixes Them)

If you’ve worked with Swift long enough, you’ve probably run into a memory leak that just wouldn’t go away. Nine times out of ten, the…