当前位置:编程学习 > 网站相关 >>

成员set方法写法的细微差别(Object C)

大家都知道Object使用属性关键字来定义默认的set和get方法;但如果自己动手写个set方法,却不像C++,Java其他语言一样简单。归根于其内存管理的特点。
请看这个代码的区别:
-(void)setName:(NSStirng *)name
{
   [_name release];
   _name = [name retain];
}

另外一个写法是:

-(void)setName:(NSStirng *)name
{
   [name retain];
   [_name release];
   _name = name ;
}

看上去一样,可是第一种写法在一种情况下会导致程序崩溃。

补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,