OC中内存管理(MRC)--多对象管理
2016-03-29 00:00
155 查看
摘要: 多对象中要注意一个对象被另一个对象引用的时候,是不能将这个对象释放的,释放会导致报错。
将以一个精武团这个游戏来做例子。
游戏者需要开房,那么这个房子就这个人使用,当这个人还在这个房间的时候就不能释放这个房间,否则这个游戏就有个BUG,同样的道理,这个房子可以被多个人引用。
那什么时候释放这个房子就是个关键;当这个房子无人使用的时候就是释放它的时候,所以当一个人引用的时候,就给房子的对象的计数器加一,两个人的时候就加二;每当一个人离开时,都要将房子对象的计数器减一,那么当房子中没有人的时候,再release就可以释放这个对象了。
代码有时间再补上吧。
如有错误,欢迎指出。
将以一个精武团这个游戏来做例子。
游戏者需要开房,那么这个房子就这个人使用,当这个人还在这个房间的时候就不能释放这个房间,否则这个游戏就有个BUG,同样的道理,这个房子可以被多个人引用。
那什么时候释放这个房子就是个关键;当这个房子无人使用的时候就是释放它的时候,所以当一个人引用的时候,就给房子的对象的计数器加一,两个人的时候就加二;每当一个人离开时,都要将房子对象的计数器减一,那么当房子中没有人的时候,再release就可以释放这个对象了。
代码有时间再补上吧。
如有错误,欢迎指出。
相关文章推荐
- OC中类的特点
- OC继承 和 多态
- OC中各种数据类型(一)
- OC中各种数据类型(二)
- OC中的NSArray(数组)
- OC中的NSMutableArray(可变数组)
- OC中循环查看数组
- OC中的加密方法(MD5、DES)
- solr+tomcat+nutch 整合
- 搭建maven私服
- 新手android中ListView实现音乐列表
- 远丰集团:电商的发展应回归到服务本质
- 远丰集团实力获肯定 成为中国电商服务联盟副会长单位
- 政策又出利好 远丰推跨境电商解决方案
- Python学习笔记(二)
- js中,如何判断一个json对象是否为空
- Nginx 配置实践
- Mysql 表名大小写敏感
- 你敢说你真的了解 代理设计模式??
- ecshop登录超时、session过期的解决办法