title: Objective-C: Private variables VS private properties
body: <p>For me the past as Objective-C developer was simple. Every field a class needed to be public was a property and every private field was an instance variable without getter or setter. But much more often I see people using a private interface inside the implementation file to declare private properties. And I have been told that is the way to do things now.</p>
  
  <p>While this works fine it is hard for me to see the advantages. As long I do not need some logic in the getter or setter I would go on still using instance variables for everything not public. I have to admit using a property and then using keyword self make the code a bit more readable. You can see if a property belongs to the class or if it is just a local variable inside a method but that can not be the only reason.</p>
  
  <p>Why or why not use private properties?</p>