【Objective-C】ARC学习

ARC自动引用计数详解
本文介绍了ARC(自动引用计数)的概念及其在内存管理中的应用。ARC是一种编译器特性,可以自动处理对象的引用计数,从而简化内存管理。文章详细说明了ARC的工作原理,并列举了实现ARC需要注意的问题。

什么是ARC?

ARC(automatic reference counting)及为自动引用计数,启动ARC功能之后编译器会自动为代码加入retain和release,实现自动内存管理。

实现ARC的要求

要实现ARC,要注意以下问题:
1. 要进行管理的对象必须继承自NSObject,即对象不能为C语言中的数据类型。
2. 确保对象为弱引用来避免循环调用造成内存泄露。(当手动对对象进行管理时,就拥有了该对象的强引用,强引用在发生循环调用时不会释放资源)
3. 对非保留对象指针进行内存管理操作时,需要通过桥接转换来转换所有权。
4. 结构体和几何体不能使用ROP作为成员可以通过一下代码实现:

~
//错误操作:
struct {
int32_t foo;
char *bar;
NSString *baz;
} MyStruct
//正确操作:
struct {
int32_t foo;
char bar *bar;
void *baz;
}
MyStruct.baz = (__bridge_retained void *)theString;
NSString myString = (__bridge_transfer NSString )MyStruct.baz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值