Weak reference
Also called: weak, WeakReference, WeakRef
A reference that lets you reach an object without keeping it alive; it becomes empty once the object is freed.
Definition
A normal (strong) reference keeps its object in memory. A weak reference doesn't count: when nothing else holds the object, it is freed and the weak reference becomes nil (Swift weak), null (Java and Kotlin WeakReference) or undefined (JavaScript WeakRef). In Swift, weak references are the standard way to break retain cycles, for example for delegates and closures that use self.
In practice
weak var delegate: DownloadDelegate? lets a downloader call back to its screen without keeping the screen alive.