Objective C还不能象java这样完全自动gc。所以要么象传统C++一样从外部传入要返回的对象指针,由创建该对象的
调用者释放该对象,要么就在方法内部释放对象(不能返回到方法外)。
由方法设计者在方法内分配并反回对象,由方法调用者在方法外释放对象是一种极不友好的协作方式。非常容易出问题,
这在传统C++中是最基础的知识。
本文讨论了Objective-C中内存管理的特点,对比Java的自动垃圾回收机制,介绍了Objective-C中两种主要的内存管理方式:通过方法调用者负责释放对象或者在方法内部完成释放操作。文章强调了这种内存管理模式可能带来的协作问题。
Objective C还不能象java这样完全自动gc。所以要么象传统C++一样从外部传入要返回的对象指针,由创建该对象的
调用者释放该对象,要么就在方法内部释放对象(不能返回到方法外)。
由方法设计者在方法内分配并反回对象,由方法调用者在方法外释放对象是一种极不友好的协作方式。非常容易出问题,
这在传统C++中是最基础的知识。

被折叠的 条评论
为什么被折叠?