您的位置:首页 > 编程语言 > C语言/C++

oc语言第七课 内存管理一——ios学习连载12

2015-07-30 08:00 417 查看
1.内存管理是关于如何管理对象生命周期的编程原则
2.oc中的内存管理只针对oc中的对象,所有的对象都继承NSObject
3.基本数据类型不需要管理内存(int、long、double、float、char、struct......)
4.当一个对象没有人再使用,该对象应该从内存中销毁掉
5.所有oc的对象都有一个计数器,称为引用计数
6.每个对象都有一个retainCount引用计数,表示当前对象被引用的数量
7.引用计数加减:(1)调用retain方法,计数+1,调用release方法,计数-1
(2)当引用计数为0时,说明没有人使用此对象,此对象会被系统销毁
8.一旦引用计数为0,也就表示内存销毁了,之后就不要再向该对象发送任何消息了,否则会引起程序的崩溃
9.黄金法则:如果一个对象使用了alloc、[mutable]copy、retain,那么就必须使用相应的release或者autorelease释放
10.切换ARC模式——MRC模式:选择工程文件——>搜索输入“automatic”——>修改Object-C Automatic Reference Counting 改为No
11.当对象的引用计数为0时,系统调用此对象的dealloc方法
12.delloc方法永远不要主动调用它,应该让系统监听引用计数为0时自动调用
13.@property可以为一个属性自动生成set和get方法,不需要再手动编写
14.@property的使用:
(1)原子性:atomic:多线程环境下,存在线程保护,默认
nonatomic:多线程环境下,不存在线程保护
(2)赋值:assign:直接赋值,默认(基本数据类型)
retain:保留对象(对象类型)
copy:拷贝对象(字符串类型)(copy浅拷贝,mutablecopy深拷贝)
(3)读写性:readwrite:生成getter、setter方法,默认
readonly:只生成getter方法
15.凡是写@property的地方,若要同时复写set和get方法,需要添加实例变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: