In the following example, is the line NSObject *_propertyName;
required?
.h
@interface ClassName
{
NSObject *_propertyName;
}
@property (nonatomic, retain) NSObject *propertyName;
@end
.m
@implementation ClassName
@synthesize propertyName = _propertyName;
@end
I find that if I exclude NSObject *_propertyName;
but keep @synthesize propertyName = _propertyName;
everything works. Here's an example of what I'm talking about:
.h
@interface ClassName
@property (nonatomic, retain) NSObject *propertyName;
@end
.m
@implementation ClassName
@synthesize propertyName = _propertyName;
@end
I've tested and seen that the property still works. I nearly always see code that includes the line NSObject *_propertyName;
. Is there something I'm missing here?