self.name="name"和name=“name”有什么区别呢?
-(void)setName:(NSString*)newName
{
[newName retain];
[name relase];
[name=newName;
}
区别是前者会调用setName方法,后者只是赋值。
如果
obj=[[Class alloc]init];
obj1=obj;
//...
[obj release];
//do sth using obj1 可能会出错
obj=[[Class alloc]init];
obj1=obj;
[obj1 retain];
//...
[obj release];
//do sth using obj1