黑马程序员技术交流社区

标题: OC内存管理整理(二) [打印本页]

作者: silenCetestifY    时间: 2016-2-16 17:32
标题: OC内存管理整理(二)

8.set方法管理内存(@property管理的内存)


@property(retain)Book*book


@eng


相当于


-(void)setBook:(Book*)book


{


if(_book!=book)


{


[_bookrelease];//release旧值,retain新值


_book=[bookretain];


}


}


10.@property(参数)


@property参数分为以下四种:


(1)set方法内存管理的相关参数


retain:release旧值,retain新值(用于OC对象)


assign:直接赋值,(默认,用于非OC对象类型)


copy:release旧值,retain新值(一般用于NSString*)


(2)控制需不需要生成set方法


readwrite:同时生成set方法和get方法的声明和实现(默认)


readonly:只会生成get方法的声明实现


(3)多线程管理


atomic:性能低(默认)


nonatomic:性能高


(4)控制set方法和get方法的名称


setter:设置set方法的名称,方法名一定有个冒号:


getter:设置get方法的名称(一般用在BOOL类型中)







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2