7.24
内存管理
1.引用计数
//引用计数相当于每个调用它的都会retain一份
2. 内存的释放
//局部变量alloc的时候用过直接release,全局变量在dealloc方法里release
3.计数为0的时候调用delloc方法
//dealloc 是当当前类ViewController即将消失的时候就会调用这个方法
4.延迟释放方法
//autorelease 自动释放,也可以说延迟释放,把当前对象放到自动释放池,等下次刷新的时候由系统自动清理内存.
5.成员变量的赋值和释放
//利用系统的@property方法retain对象(先释放指针指向的对象)然后返回
//retain,copy ,assign
/*
补充:定义成员变量的时候加_ 以便于在.m文件中更好的识别
但在@synthesize中出现矛盾,所以@synthesize array = _array;
*/
//三件套:
NSArray *_array;
//1
@property (nonatomic,retain) NSArray *array;
//2
@synthesize array = _array;
//3
- (void)dealloc
{
[_array release];
[super dealloc];
}
//retain
//- (void)setArray:(NSArray *)array
//{
// if (_array != array)
// {
// [_array release];
// _array = [array retain];
// }
//}
//if判断是否为指向同一对象地址
6.XIB中关联的指针必须在- (void)dealloc 中释放一次
内存管理
1.引用计数
//引用计数相当于每个调用它的都会retain一份
2. 内存的释放
//局部变量alloc的时候用过直接release,全局变量在dealloc方法里release
3.计数为0的时候调用delloc方法
//dealloc 是当当前类ViewController即将消失的时候就会调用这个方法
4.延迟释放方法
//autorelease 自动释放,也可以说延迟释放,把当前对象放到自动释放池,等下次刷新的时候由系统自动清理内存.
5.成员变量的赋值和释放
//利用系统的@property方法retain对象(先释放指针指向的对象)然后返回
//retain,copy ,assign
/*
补充:定义成员变量的时候加_ 以便于在.m文件中更好的识别
但在@synthesize中出现矛盾,所以@synthesize array = _array;
*/
//三件套:
NSArray *_array;
//1
@property (nonatomic,retain) NSArray *array;
//2
@synthesize array = _array;
//3
- (void)dealloc
{
[_array release];
[super dealloc];
}
//retain
//- (void)setArray:(NSArray *)array
//{
// if (_array != array)
// {
// [_array release];
// _array = [array retain];
// }
//}
//if判断是否为指向同一对象地址
6.XIB中关联的指针必须在- (void)dealloc 中释放一次