我创建了一个具有NSDate
如下属性的对象:
我的类.h
@interface MyClass: NSObject { NSDate *date_ }
@property (nonatomic, retain) NSDate *date;
我的班级.m
@implementation MyClass
@synthesize date=date_;
-(id) init
{
if (self=[super init])
date_ = [NSdate date];
return self;
}
-(void) dealloc
{
[date_ release];
date_ = nil;
}
但是当我创建这个对象时
[[[MyClass alloc] init] autorelease];
EXC_BAD_ACCESS
当我的线程调用时,我得到一个objc_release
:
如果我在初始化时添加保留:
-(id) init
{
if (self=[super init])
{
date_ = [NSdate date];
[date_ retain];
}
return self;
}
它似乎工作正常,但不是用“保留”声明财产应该为我保留它吗?