区别是前者会调用setName方法,后者只是赋值。

-(void)setName:(NSString*)newName//setter方法

{

[newName retain];

[name relase];

[name=newName;

}


如果(no_arc)

obj=[[Class alloc]init];

obj1=obj;

[obj release];//已释放

会出错


正确编码应该是:

obj=[[Class alloc]init];

obj1=obj;

[obj1 retain];

/*

*或self.obj1=obj;

*/

[obj release];