博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC 自动释放池&ARC
阅读量:6545 次
发布时间:2019-06-24

本文共 728 字,大约阅读时间需要 2 分钟。

  hot3.png

一.自动释放池

自动释放池概念:

自动释放池中保存对象地址,自动释放池在被执行完毕的时候,会对池中的对象自动执行一次release操作。

如何建立自动释放和对象的关系:

用对象调用 -(id)autorelease 方法。

运用场景:

autorelease 运用在方法中创建对象并需要返回对象,需要对象延迟销毁。延迟当自动释放池销毁时被销毁

二ARC 自动引用计数

ARC目的:

让程序员不在关心对象的retainCount值,也就是对象的内存管理。

ARC本质:

ARC  本质是操作对象的retainCount值。本质也是retain releace.

强指针和弱指针

强指针:默认创建的指针都是强指针。 系统判断对象是否被回收的依据,只要没有强指针指向该对象,该对象就会被释放。

弱指针:不会影响到对象的回收。(_weak Persion *p = [[Persion alloc] init])处理对象与对象的关系。

其他说明:

1.手动内存管理机制转换为ARC机制

edit->refactor->convert to objective-c ARC

不建议这样做。

2.手动内存管理和自动管理

build phases ->complie sources->选择.m文件 添加参数 -fon-objc-arc

3.ARC机制类相互引用

在类对象声明的时候,一个对象属性用 强类型,另一个用 弱类型,例如 A B类相互引用

@property (nonatomic,strong) B *b;

@property (nonatomic,weak) A *a;

转载于:https://my.oschina.net/wolx/blog/337579

你可能感兴趣的文章
登录内网账号后,连接不上内网网址
查看>>
安装 MariaDB
查看>>
【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
查看>>
纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!...
查看>>
java 为啥变量名前要加个m?
查看>>
探索Android中的Parcel机制(上)
查看>>
C#开发微信门户及应用(5)--用户分组信息管理
查看>>
怎样实现前端裁剪上传图片功能
查看>>
ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
查看>>
2011/7/3 第二次评审
查看>>
Openvswitch手册(2): OpenFlow Controller
查看>>
tar解压
查看>>
inheritprototype原型继承封装及综合继承最简实例
查看>>
【磁耦隔离接口转换器】系列产品选型指南
查看>>
Apriori 关联算法学习
查看>>
MVPArms官方首发一键生成组件化,体验纯傻瓜式组件化开发
查看>>
Log4j_学习_00_资源帖
查看>>
制作iso镜像U盘自动化安装linux系统
查看>>
JSLint的使用
查看>>
命令行常用命令--软连接
查看>>