@property 的本质

@property (nonatomic, retain) NSString *name;
@synthesize name;
这种方式的本质是:
-(NSString *) name{
       return name;
}
 
-(void) setName:(NSStrng *) newName{
       if(name!=newName){
              [name release];
              name=[newName retain];
       }

}

 
对setName方法的解释:
(1)为何要加name!=newName的判断
          如果要是不加,传过来的参数如果是相同的,则newName会一直retain
(2)为何[name release]
          如果不release,直接name=[newName retain],则name原先所指向的内存则会泄露,因为没有释放

posted on 2012-04-23 15:25  iYiming  阅读(249)  评论(0编辑  收藏  举报

导航