创建一个对象。
ClassA *obj1 = [[ClassA alloc] init];
创建一个autorelease的对象。
ClassA *obj1 = [[[ClassA alloc] init] autorelease];
Release一个对象后,立即把指针清空。(顺便说一句,release一个空指针是合法的,但不会发生任何事情)
[obj1 release];
obj1 = nil;
指针赋值给另一个指针。
ClassA *obj2 = obj1;
[obj2 retain];
//do something
[obj2 release];
obj2 = nil;
在一个函数中创建并返回对象,需要把这个对象设置为autorelease
ClassA *Func1()
{
ClassA *obj = [[[ClassA alloc]init]autorelease];
return obj;
}
在子类的dealloc方法中调用基类的dealloc方法
-(void) dealloc
{
…
[super dealloc];
}