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 释放池相关推荐

  1. (转)Objective-C Autorelease Pools(自动释放池)详解

    本篇将给您介绍"Autorelease Pools"(自动释放池)在应用中的使用技巧. 1,Autorelease Pools概要 一个"Autorelease Pool ...

  2. ios中的自动释放池

    自动释放池中是否有虑重功能 1 @autoreleasepool { 2 UIView *view = [UIView alloc] init] autorelease]; 3 [view autor ...

  3. 内存管理-定时器循环、内存布局、tagged pointer、weak指针、copy、自动释放池

    先上代码,我们平时用的定时器,cadisplaylink.nstimer,CADisplayLink.NSTimer会对target产生强引用,如果target又对它们产生强引用,那么就会引发循环引用 ...

  4. 自动释放池autoreleasepool

    自动释放池是NSAutoreleasePool的实例,其中包含了收到autorelease消息的对象.当一个自动释放池自身被销毁(dealloc)时,它会给池中每一个对象发送一个release消息(如 ...

  5. 【深入Cocos2d-x】探索Cocos2d-x中的内存管理-引用计数和自动释放池

    2019独角兽企业重金招聘Python工程师标准>>> #深入Cocos2d-x-探索Cocos2d-x中的内存管理-引用计数和自动释放池 ###引用计数(Reference Cou ...

  6. 第六讲:Obj-C 内存管理4 - 自动释放池

    转:http://tigercat1977.blog.163.com/blog/static/2141561122012111294616203/ 第六讲:Obj-C 内存管理4 - 自动释放池 主要 ...

  7. cocos2d-x游戏开发(六)自动释放池

    欢迎转载:http://blog.csdn.net/fylz1125/article/details/8519887 上一篇文章写了引用计数和自动释放的大概流程,其中略过了自动释放池,这里简单述说. ...

  8. 0c-36-自动释放池应用场景

    1.autorelease的应用场景经常用来在类方法中快速创建1个对象. // 声明实现一个类方法 + (Student *)student {// 在里面直接进行autoreleasereturn ...

  9. Objective-c自学笔记(5)-自动释放池

    解决的问题 每一个东西的产生都是在实际生活迫切需要这样的东西后,人们通过思考发明创造某些东西用以解决这个问题.那么自动释放池用来解决什么问题?请看下面的例子: 对于一些有返回值的消息(方法),它返回的 ...

最新文章

  1. python格式化文本_Python格式化大文本
  2. python画图代码星星-Python利用for循环打印星号三角形的案例
  3. python 实现 softmax
  4. Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】
  5. Oracle-11g 从表空间删除数据文件
  6. linux在xt文件写入内容,0728linux基础内容小记
  7. vim学习(2)小幅提升
  8. [react] react非父子组件如何通信?
  9. ipad如何连接电脑_电脑无法连接外网远程调试,一文教你如何用手机让台式机连接外网...
  10. PyCharm常用快捷键和设置
  11. Mac电脑开机出现带问号的文件夹并且闪烁 apple.com/support -2003F
  12. 从零开始山寨Caffe·贰:主存模型
  13. Linux系统glibc库版本信息查看
  14. mongodb 集群shard_MongoDB分片集群部署详解
  15. 【30天精通JavaScript ~ 网络篇】JavaScript 网络请求与远程资源
  16. 重装系统 winserver2008 R2 激活以及优化
  17. 8、(八)外汇基础篇之外汇期权交易
  18. python学习——matplotlib颜色设置适合论文的配色
  19. es集群状态yellow排查
  20. c语言转义字符c,C语言转义字符

热门文章

  1. 搭建系统App、小程序到底要多少钱?
  2. 我在大学所构建的技术体系
  3. 休闲互动游戏有哪些?互动游戏对战平台是什么?
  4. 帧数达不到144用144hz_不看不知道 老司机告诉你60Hz和144Hz的差别
  5. 网易有道校招笔试总结
  6. HBase安装及使用
  7. JSP学籍信息管理系统实现增删改查的相关功能操作
  8. 基于matlab的蓝色车牌识别(车牌倾斜矫正)
  9. 如何去除discuz的powered by discuz!代码
  10. 组态王下拉式组合框使用教程,组态王下拉式组合框