前言
1)什么是自动释放池呢?自动释放池的原理:
a 它可以往里面存对象,在自动释放池被销毁的时候,会自动调用存储在该自动释放池中所有对象的release方法
b 可以解决的问题:将创建的对象,存入到自动释放池之中,就不再需要手动的release这个对象了
c 自动释放池的好处:将创建的对象存储到自动释放池当中,就不需要再写release了
一、如何去创建自动释放池:
1)语法:
@autoreleasepool
{
//code;
}
这对大括弧代表这个自动释放池的范围
二、如何将对象存储到自动释放池之中:
1.在自动释放池之中调用对象的autorelease方法,就会将这个对象存入到当前的自动释放池之中
例如:有一个Person类:
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property(nonatomic,retain)NSString *name;
@property(nonatomic,assign)int age;
@end
#import “Person.h”
@implementation Person
– (void)dealloc
{
NSLog(@“人挂了。。。”);
[_name release];
[super dealloc];
}
@end
#import <Foundation/Foundation.h>
#import “Person.h”
int main()
{
@autoreleasepool
{
Person *p1 = [Per

本文介绍了Objective-C中的自动释放池autoreleasepool的原理和使用方法,包括如何创建自动释放池,如何将对象存储到自动释放池以及其带来的好处。通过示例代码说明了autorelease方法的使用,指出自动释放池在内存管理中的重要作用,简化了对象的释放操作。

2135

被折叠的 条评论
为什么被折叠?



