I created an object with a NSDate
property like this:
MyClass.h
@interface MyClass: NSObject { NSDate *date_ }
@property (nonatomic, retain) NSDate *date;
MyClass.m
@implementation MyClass
@synthesize date=date_;
-(id) init
{
if (self=[super init])
date_ = [NSdate date];
return self;
}
-(void) dealloc
{
[date_ release];
date_ = nil;
}
But when I create this object
[[[MyClass alloc] init] autorelease];
I get an EXC_BAD_ACCESS
when my thread calls objc_release
:
If I add a retain on init:
-(id) init
{
if (self=[super init])
{
date_ = [NSdate date];
[date_ retain];
}
return self;
}
It seems to be working fine, but isn't declaring the property with "retain" supposed to retain it for me ?