objective-c的内存管理

1.自动释放池
(在当前程序里创建应用程序释放池,并对每一个alloc的对象发送一个autorelease消息,相当于吧每个对象都注册到应用程序释放池中。当应用程序释放池被销毁的时候会对每一个池子内部的对象做一次release操作,如果对象的计数=1,再次释放后将会被销毁,如果之前大于一,那么autorelease之后讲减少1)

2.retain copy assign
( assign 用于基本赋值

   retain 相当于钱拷贝,只把引用计数+1 ,把当前引用保留一次,在析构里面要对
其release下
 

  copy相当于从新开辟了一份空间用于存储对象的数据,相当于深拷贝,他又从新创建了一个计数为1的对象,所以在析构里面也要release

原文地址:https://www.cnblogs.com/ccguo/p/3353565.html