iOS基础知识总结
2020-03-23
OC
内存管理
内存管理的原理和原则
- 基本数据类型(
int
,float
,double
,enum
,struct
,union
等)和C语言的类型存储在栈区,由系统分配释放 - 继承自
NSObject
的类属于OC
类型,都遵循内存管理原则 - 谁创建,谁释放(
MRC
程序员管理,ARC
系统封装了编译时插入retain
和release
自动释放池等自动管理内存) OC
方法调用的本质其实是给对象发送消息,需要引用时发送retain
引用计数加1
,释放时发送release
引用计数减1
,每个OC
对象都有一个retainCount
计数器占有4
个字节MRC
设置setter
需要判断,存在旧值,则需要先把旧值释放release
,然后新值retain
之后赋值