Properties and instance variables have a lot in common. In fact, when you use @synthesize to create the property, it is "backed" by an ivar. That means our slider property stores its value in an instance variable, also named slider,that was automatically added to the view controller by the Objective-C compiler. Why? Well, a property needs to store its value somewhere and an instance variable is a good place for that.
self.slider.value = 90; //this use the property
slider.value = 900; //this uses the backing instance variable directly
The benefit over using a property versus an instance variable:
ivars are supposed to be used only by the insides of an object, other objects aren't intended to see them or use them.
properties, however, can be accessed by other objects.
Instance variables could be added to the @interface section of the view controller, as of iOS 5 we can add instance variables to the @implementation section instead, which is a better place for them.
pp75