При написании абстрактного класса или класса, который не создается непосредственно ... Вы склонны писать метод 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.