有一个NSStirng类型,retain时尚宣言name财产setter内部方法的每一行代码的作用?
2015-06-20 13:21
253 查看
- (void)setName:(NSString *)name
{
推断原有对象和新对象是否是同一个对象,假设是同一个,就没有必要再又一次赋值,否则会先release 再retain,就会变成野指针
if (_name !=
name) {
释放保有之前对象的全部权
[_name release];
让实例变量 _name保有新的对象的全部权
_name = [name retain];
}
}
{
推断原有对象和新对象是否是同一个对象,假设是同一个,就没有必要再又一次赋值,否则会先release 再retain,就会变成野指针
if (_name !=
name) {
释放保有之前对象的全部权
[_name release];
让实例变量 _name保有新的对象的全部权
_name = [name retain];
}
}
相关文章推荐
- WebRTC代码走读(十一):video_coding模块分析
- qt creator笔记1
- Spring整合JMS(一)——基于ActiveMQ实现
- PHP实验图片验证码
- C语言回顾(三、选择循环,数组及Fibonacci)——iOS开发基础
- vsftpd
- Python包管理工具——Pip
- 辛星和你解读PHP递归
- springmvc使用@ResponseBody返回json乱码解决方法
- FTP
- 1. Java基础
- python pip通过本地目录安装相关程序包
- springMVC拦截器
- python的pip和virtualenv使用心得
- C#如何生成随机不重复的数字
- Python----matplotlib详细介绍
- 【C++探索之旅】第一部分第二课:C++编程的必要软件
- PHP传值、传引用
- 将代码段和数据段分离在cache和uncache空间
- C#文件重命名的处理方法 (转载)