object-c 进阶一 【内存管理1】

OC的内存管理有两种机制:
1、MRC 手动管理

2、ARC 自动管理

oc采用了类似于c、c++的内存机制,但是相对于他们先进一些;

oc中的所有对象都继承与NSObject,当创建一个对象的时候,对象指向一个内存地址,当我们把这个对象赋给另一个对象的时候,这时就产生了一次copy,也就是oc中的retain操作,两个对象同时指向一个内存地址,但是在oc中存在一个refrence count的计数器,当产生copy操作的是,refrence count会自动+1,比如我们刚刚将一个对象赋给另一个对象,这时内存空间中的refrence count的长度就是2,说明有两个对象指向了这个内存空间;

当我们要释放一个对象所占用的内存空间的时候,我们执行release操作的是,内存空间中的refrence count就会自动-1,也就是将对象指向内存空间的这个指针delete了;

1、创建项目时,默认的管理方式为ARC(自动)

怎么更改内存管理方式?

点击项目->built settings->all->搜索ARC->将yes改为no

你可能感兴趣的:(object-c 进阶一 【内存管理1】)