It uses Automatic Reference Count (ARC) discipline to manage memory for iOS projects, which means if you retain or copy an object and it will increase 1 for the count, otherwise it decrease 1 when relinquish the ownership by assign nil to the object, the object will be deallocated and memory will be completely free after reference count is 0.
We generally use weak for IBOutlets (UIViewController’s Childs). This works because the child object only needs to exist as long as the parent object does.
A weak reference is a reference that does not protect the referenced object from collection by a garbage collector.
Weak is essentially assign, a unretained property. Except the when the object is deallocated the weak pointer is automatically set to nil.
To be continue …