黑马程序员——OC——set方法内存管理和property
2014-06-29 08:09
411 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
set方法:
代码规范:
1> 基本数据类型:
2> OC对象类型
dealloc方法的代码规范
1> 一定要[super dealloc],而且放到最后面
2> 对self(当前)所拥有的其他对象做一次release
property:
1.set方法内存管理相关的参数
> retain : release旧值,retain新值(适用于OC对象类型)
> assign : 直接赋值(默认,适用于非OC对象类型)
> * copy : release旧值,copy新值
2.是否要生成set方法
> readwrite : 同时生成setter和getter的声明、实现(默认)
> readonly : 只会生成getter的声明、实现
3.多线程管理
> nonatomic : 性能高 (一般就用这个)
> atomic : 性能低(默认)
4.setter和getter方法的名称
@property (getter = isRich) BOOL rich; //BOOL b = p.isRich; 布尔类型 一般以is开头
@property (getter = abc, setter = setAbc:) int weight; //只影响方法名,不影响成员变量名
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
set方法:
代码规范:
1> 基本数据类型:
- (void)setAge:(int)age { _age = age; }
2> OC对象类型
- (void)setCar:(Car *)car { // 1.先判断是不是新传进来对象 if ( car != _car ) { // 2.对旧对象做一次release [_car release]; // 3.对新对象做一次retain _car = [car retain]; } }
dealloc方法的代码规范
1> 一定要[super dealloc],而且放到最后面
2> 对self(当前)所拥有的其他对象做一次release
- (void)dealloc { [_car release]; [super dealloc]; }
property:
1.set方法内存管理相关的参数
> retain : release旧值,retain新值(适用于OC对象类型)
> assign : 直接赋值(默认,适用于非OC对象类型)
> * copy : release旧值,copy新值
2.是否要生成set方法
> readwrite : 同时生成setter和getter的声明、实现(默认)
> readonly : 只会生成getter的声明、实现
3.多线程管理
> nonatomic : 性能高 (一般就用这个)
> atomic : 性能低(默认)
4.setter和getter方法的名称
@property (getter = isRich) BOOL rich; //BOOL b = p.isRich; 布尔类型 一般以is开头
@property (getter = abc, setter = setAbc:) int weight; //只影响方法名,不影响成员变量名
@interface Person : NSObject // 返回BOOL类型的方法名一般以is开头 @property (getter = isRich) BOOL rich; @property (nonatomic, assign, readwrite) int weight; //同时生成setter和getter的声明、实现(默认) @property (readwrite, assign) int height; //assign : 直接赋值(默认,适用于非OC对象类型) @property (nonatomic, assign) int age; //*name是一个字符串对象 所以用retain @property (retain) NSString *name; @end
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员23——OC之内存管理(set方法的内存管理)
- 黑马程序员——OC基础---内存管理(引用计数器,多对象内存管理,set方法的内存管理,模型设计,循环引用)
- OC_语法入门_day5_内存管理_计数器/set方法/property的参数/循环引用/自动释放池
- 黑马程序员——IOS基础——OC内存管理-set方法内存管理及微博模型设计
- 黑马程序员-内存管理之set方法内存管理, property参数,循环引用。
- OC之set方法内存管理
- 黑马程序员--学习OC@property和构造方法
- 黑马程序员-OC-set方法的基本操作
- 黑马程序员——OC语言------set和get方法(封装)、类方法、self关键字
- 黑马程序员——set方法内存管理(@property内存管理)
- oc的set方法内存管理
- 黑马程序员---Objective-C 内存管理 - set方法的内存管理
- 黑马程序员-我的第七篇学习日记:OC成员变量名的命名规范,set方法和get方法
- 黑马程序员_set方法内存管理
- 黑马程序员——OC学习之成员变量的get,set方法多种实现
- 黑马程序员26——OC之内存管理(property参数)
- 黑马程序员--有关OC内存管路set方法的思考
- 黑马程序员_OC中的set方法和get方法
- 黑马程序员-多对象,set方法,@property的内存管理,以及模型设计练习
- IOS开发---OC语言-⑳内存管理:set方法内存管理