黑马程序员技术交流社区

标题: OC内存问题:release是先判断释放条件,还是将将count 减一 [打印本页]

作者: 默默者    时间: 2014-4-28 11:29
标题: OC内存问题:release是先判断释放条件,还是将将count 减一
release方法主要用于reference counting。有个疑问的地方是:方法中先判断是否达到释放条件,如果没达到,然后 count 减一? 还是先将 count减一,然后判断是否达到释放条件呢?
作者: 魅影穿眸    时间: 2014-4-28 11:43
release方法就是直接减一,减一后看是否为野指针,不是的话问题不大,是的话就麻烦了
作者: 脸皮猴    时间: 2014-4-28 16:14
release方法只是负责对某个实例对象的引用计数器减一,不会去关注这个计数器值是多少。所以,当一个实例对象已经被释放了,如果一个指针还指那个被释放的对象,调用了release方法一样会出现野指针错误。当引用计数器为0的时候,系统会自动释放对象,不要人为去操作!
作者: 戴文婷    时间: 2014-4-28 16:29
release 不会有什么智能的去判断能不能减1,只会调用到方法,就减1,减错了。。。就报错,所以自己使用的时候才要小心。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2