autorelease 释放池
1>autorelease基本使用法:
*首先把一个对象放到池子中
*当我们自动释放池被销毁时,会对里面的对象做一次release操作
*返回对象本身
*调用完autorelease后,对象的计数器是不变,不会对它减一
*如果调用了两次autorelease,会报错,野指针
*/
1 #import <Foundation/Foundation.h> 2 #import "Person.h" 3 int main(int argc, const char * argv[]) { 4 // Person *p = [[Person alloc]init]; 5 // [p release]; 6 // 7 @autoreleasepool { // 代表创建释放池 8 Person *p1 = [[[Person alloc]init]autorelease]; 9 // [p1 release]; 10 p1.age = 10; 11 12 @autoreleasepool { 13 // 错误的(面试题) 14 Person *p2 = [[[[Person alloc]init]autorelease]autorelease]; 15 16 } 17 18 19 } // 结束代表销毁释放池 20 return 0; 21 }
main
1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 @property(nonatomic,assign)int age; 5 @end
Person.h
1 #import "Person.h" 2 3 @implementation Person 4 5 6 - (void)dealloc { 7 8 NSLog(@"person对象被销毁"); 9 [super dealloc]; 10 } 11 @end
Person.m
转载于:https://www.cnblogs.com/lanmaokomi/p/8708200.html
autorelease 释放池相关推荐
- (转)Objective-C Autorelease Pools(自动释放池)详解
本篇将给您介绍"Autorelease Pools"(自动释放池)在应用中的使用技巧. 1,Autorelease Pools概要 一个"Autorelease Pool ...
- ios中的自动释放池
自动释放池中是否有虑重功能 1 @autoreleasepool { 2 UIView *view = [UIView alloc] init] autorelease]; 3 [view autor ...
- 内存管理-定时器循环、内存布局、tagged pointer、weak指针、copy、自动释放池
先上代码,我们平时用的定时器,cadisplaylink.nstimer,CADisplayLink.NSTimer会对target产生强引用,如果target又对它们产生强引用,那么就会引发循环引用 ...
- 自动释放池autoreleasepool
自动释放池是NSAutoreleasePool的实例,其中包含了收到autorelease消息的对象.当一个自动释放池自身被销毁(dealloc)时,它会给池中每一个对象发送一个release消息(如 ...
- 【深入Cocos2d-x】探索Cocos2d-x中的内存管理-引用计数和自动释放池
2019独角兽企业重金招聘Python工程师标准>>> #深入Cocos2d-x-探索Cocos2d-x中的内存管理-引用计数和自动释放池 ###引用计数(Reference Cou ...
- 第六讲:Obj-C 内存管理4 - 自动释放池
转:http://tigercat1977.blog.163.com/blog/static/2141561122012111294616203/ 第六讲:Obj-C 内存管理4 - 自动释放池 主要 ...
- cocos2d-x游戏开发(六)自动释放池
欢迎转载:http://blog.csdn.net/fylz1125/article/details/8519887 上一篇文章写了引用计数和自动释放的大概流程,其中略过了自动释放池,这里简单述说. ...
- 0c-36-自动释放池应用场景
1.autorelease的应用场景经常用来在类方法中快速创建1个对象. // 声明实现一个类方法 + (Student *)student {// 在里面直接进行autoreleasereturn ...
- Objective-c自学笔记(5)-自动释放池
解决的问题 每一个东西的产生都是在实际生活迫切需要这样的东西后,人们通过思考发明创造某些东西用以解决这个问题.那么自动释放池用来解决什么问题?请看下面的例子: 对于一些有返回值的消息(方法),它返回的 ...
最新文章
- python格式化文本_Python格式化大文本
- python画图代码星星-Python利用for循环打印星号三角形的案例
- python 实现 softmax
- Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】
- Oracle-11g 从表空间删除数据文件
- linux在xt文件写入内容,0728linux基础内容小记
- vim学习(2)小幅提升
- [react] react非父子组件如何通信?
- ipad如何连接电脑_电脑无法连接外网远程调试,一文教你如何用手机让台式机连接外网...
- PyCharm常用快捷键和设置
- Mac电脑开机出现带问号的文件夹并且闪烁 apple.com/support -2003F
- 从零开始山寨Caffe·贰:主存模型
- Linux系统glibc库版本信息查看
- mongodb 集群shard_MongoDB分片集群部署详解
- 【30天精通JavaScript ~ 网络篇】JavaScript 网络请求与远程资源
- 重装系统 winserver2008 R2 激活以及优化
- 8、(八)外汇基础篇之外汇期权交易
- python学习——matplotlib颜色设置适合论文的配色
- es集群状态yellow排查
- c语言转义字符c,C语言转义字符