Compiler can automatically generate ivar for you.
In the implementation file you should find something like this:
@synthesize array;
or
@synthesize array = _array;
I prefer the second case since the ivar name is different from the property name, so you are forced to use
self.array = anArray;
Something like this would not compile:
array = anArray;
Since the ivar name is _array.
If you ask if it's less readable - for me it's not. I prefer automatic ivars generation.
Compare:
#import <UIKit/UIKit.h>
@interface fubar : NSOjbect
@property (nonatomic, retain) NSArray *array;
@end
(I removed curly braces since in this case they are not needed) with this:
#import <UIKit/UIKit.h>
@interface fubar : NSOjbect {
NSArray *array
}
@property (nonatomic, retain) NSArray *array;
@end
For me the less code the better (easier to understand).