OC基础-内存管理小结(手动)
来源:互联网 发布:淘宝v1贷款口子 编辑:程序博客网 时间:2024/05/29 19:28
一 计数器的基本操作
1. retain : 计数器+1
2. release : 计数器-1
3. retainCount : 获得对象当前的计数器值
二 set方法的内存管理
1. set方法的实现
- (void)setCar:(Car *)car
{
if(_car != car)
{
[_car release];
_car = [car retain];
}
}
2. dealloc方法的实现(不要直接调用dealloc,它是系统调用的)
- (void)dealloc
{
[_car release];
[super dealloc];
}
三 @property参数
1. OC对象类型
@property (nonatomic, retain) 类名 *属性名; //用这个来代替第一点的set方法
@property (nonatomic, retain) Car *car; // 例子
@property (nonatomic, retain) id car; // id不带*号,因为id本身内部就带有星号
// 被retain过的属性,必须在dealloc方法中release属性
- (void)dealloc
{
[_car release];
[super dealloc];
}
2. 非OC对象类型
@property (nonatomic, assign) 基本类型 属性名; // (int/float/enum/struct)
@property (nonatomic, assign) int age;
四 autorelease
1. 系统自带的方法,如果不包含alloc/new/copy,那么这些方法返回的对象都是已经autorelease过的
[NSString stringWithFormat:参数];
[NSDate date];
2. 开发中经常写一些类方法快速创建一个autorelease的对象
注意:创建的时候不要直接使用类名,用self
1. retain : 计数器+1
2. release : 计数器-1
3. retainCount : 获得对象当前的计数器值
二 set方法的内存管理
1. set方法的实现
- (void)setCar:(Car *)car
{
if(_car != car)
{
[_car release];
_car = [car retain];
}
}
2. dealloc方法的实现(不要直接调用dealloc,它是系统调用的)
- (void)dealloc
{
[_car release];
[super dealloc];
}
三 @property参数
1. OC对象类型
@property (nonatomic, retain) 类名 *属性名; //用这个来代替第一点的set方法
@property (nonatomic, retain) Car *car; // 例子
@property (nonatomic, retain) id car; // id不带*号,因为id本身内部就带有星号
// 被retain过的属性,必须在dealloc方法中release属性
- (void)dealloc
{
[_car release];
[super dealloc];
}
2. 非OC对象类型
@property (nonatomic, assign) 基本类型 属性名; // (int/float/enum/struct)
@property (nonatomic, assign) int age;
四 autorelease
1. 系统自带的方法,如果不包含alloc/new/copy,那么这些方法返回的对象都是已经autorelease过的
[NSString stringWithFormat:参数];
[NSDate date];
2. 开发中经常写一些类方法快速创建一个autorelease的对象
注意:创建的时候不要直接使用类名,用self
0 0
- OC基础-内存管理小结(手动)
- [OC基础]手动内存管理
- OC-手动内存管理
- OC基础语法学习5:内存管理(手动管理)
- OC通讯录(MRC手动管理内存)
- OC的手动内存管理基础(IOS开发)
- 黑马程序员——OC基础---手动内存管理
- OC语法基础(6)—手动内存管理
- OC 内存管理小结
- oc内存管理小结
- OC中手动管理内存
- OC手动内存管理注意事项
- OC的手动内存管理
- OC基础-内存管理
- OC 内存管理基础
- OC手动内存管理-方法的保留和释放
- OC手动内存管理-使用自动释放池
- OC笔记 - 手动内存管理的基本概念(2015.1.30)
- [转]2013年小米校园招聘笔试题
- OC基础-内存管理-循环retain+autorelease
- Linux Shell高级技巧(二)
- jackson 实体转json属性为NULL或者为空不参加序列化
- Linux Shell高级技巧(一)
- OC基础-内存管理小结(手动)
- android is library 中的一个细节
- 技术网站
- OC基础-内存管理-ARC+weak
- 计算机大端模式和小端模式 内存对齐问题(sizeof)
- 北大机试-鸡兔同笼问题
- 图像处理与计算机视觉 基础、经典以及最近发展
- [转]一个应届计算机毕业生的2012求职之路
- Wamp2.5的安装和问题总结