在编写抽象类或者没有直接实例化的类时...你是否倾向于在抽象类中编写dealloc方法并在适当的时候释放,然后允许孩子调用[super dealloc]然后担心他们只添加了不属于超类的实例变量?
你们如何用抽象类来管理内存?
我正在考虑以下几点:
@interface ClassA : NSObject { NSArray *foo; } @end @implementation ClassA - (void) dealloc { [foo release]; [super dealloc]; } @end @interface ClassB : ClassA { NSArray *bar; } @end @implementation ClassB - (void) dealloc { [bar release]; [super dealloc]; } @end
请原谅任何语法错误,我只是在飞行中写下来.以上是否有意义或内存管理方式有何不同?GC不是一个选项,因为我在iPhone上这样做.
是的,你对自己负责,而不是对超级或子类负责.