For many years, the primary languages I used were C and C-based object-oriented languages, such as Objective-C and C++. These languages required a good handle on managing memory and knowing when to release memory. Luckily, modern languages such as Swift take care of managing memory for us; however, it is a good idea to understand how memory management works so we can avoid the pitfalls that cause memory management to fail.
In this chapter, we will learn about the following:
- How ARC works
- What a strong reference cycle is
- How to use weak and unowned references
Structures are value types. What this means is that when an instance of a structure is passed within our application, such as a parameter for a method, a new instance of the structure is created in the memory. This new instance of the structure is only valid while the application is in the scope where the...