A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© silenCetestifY 中级黑马   /  2016-2-16 17:32  /  618 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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类型中)


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马