In your interface, you can formally declare an instance variable
between the braces, or via @property outside the braces, or
both. Either way, they become attributes of the class. The
difference is that if you declare @property, then you can
implement using @synthesize, which auto-codes your getter/setter
for you. The auto-coder setter initializes integers and floats
to zero, for example. IF you declare an instance variable, and
DO NOT specify a corresponding @property, then you cannot use
@synthesize and MUST write your own getter/setter. You can
always override the auto-coded getter/setter by specifying your
own. This is commonly done with the managedObjectContext
property which is lazily loaded. Thus, you declare your
managedObjectContext as a property, but then also write a
-(NSManagedObjectContext *)managedObjectContext method. Recall
that a method, which has the same name as an instance
variable/property is the "getter" method. The @property
declaration method also allows you other options, such as reta