本帖最后由 doudou33420 于 2014-11-9 07:59 编辑
我觉得这里你思考的有些牵强了 你没有理解set方法写release的意义
在set方法写release绝对不是保证该对象永远不会出现野指针
他的作用是为了传递对象的那一方不用过多的去考虑他传递过来这个对象之后应如何处理
也正因为这样在set方法里写了release 就可以让它想传多少都不用担心
因为有set方法帮他管理他传递的这个对象内存的问题
所以他只需要在它的原作用域里做好对自己本身的内存管理就可以了
也就是这里教给set方法来release 穿对象过来的那一方可以省很多事
当使用一个对象的时候可能显示不出set处理的好处
如果同时出现 car1 car2 car3 ------ car 1000 他们来回并且重复往里面传,
这需要开发者用多少脑力才能理清楚 他何时传了对象 何时在加一个release
而且加这么多的release 很容易一不小心就出错, 而且 代码太冗余
在多个对象来回造访set的时候 这就立显SET处理真的很叼了
不管SET 处理 还是自己处理, 你还是要思考该对象的内存管理问题
所以不并不是放手不管了. 就算不用set处理
你在原对象都做完处理的时候 在去调用被回收的对象. 那结果就不尽人意了 |