ARC is a compile time feature that is Apple’s version of automated memory management. It stands for Automatic Reference Counting. This means that it only frees up memory for objects when there are zero strong references/ to them.
A guide to reference: when to use Strong reference, Weak reference, Unowned reference, ImplicitlyUnwrappedOptional property
Optional | non-Optional | |
Optional | strong reference &
weak reference |
strong reference &
unowned reference |
non-Optional | strong reference &
unowned reference |
unowned reference &
implicitly unwrapped optional property |