Memory management is arguably the most difficult concept for beginner programmers to grasp. When I decided to go back to school, I was required to take beginner programming classes since there is no option to test in to computer science courses. I witnessed the hair-pulling frustration of the beginner students when memory management was introduced for the first time. The hardest part of that course was when I was asked to act as a sort of student teacher-aid, going around helping trying to help other students learn memory management.
Luckily, an author going by r_adem has released an excellent article explaining proper memory management on iOS. There are several snippets with detailed explanations outlining when and why you would use certain memory management methods.
He shows the right way and the wrong way to manage memory, both with code snippets. Check it out, and thanks to John Dowa at ManiacDev for the link, which can be found below.