В моем текущем тесте у меня есть класс "PlanetClass", который наследуется от "celestialClass". Мой вопрос заключается в том, что когда я освобождаю свой объект "PlanetClass", он проходит через оба метода dealloc, сначала освобождая объект Planet, а затем объект Celestial. Я добавил Deloc в Celestial, чтобы убедиться, что я могу выпустить iVar «bodyName», я думаю, что у меня есть это право, которое я просто хотел проверить?
@implementation CelestialClass
- (NSString *)bodyName {
return [[bodyName retain] autorelease];
}
- (void)setBodyName:(NSString *)newBodyName {
if (bodyName != newBodyName) {
[bodyName release];
bodyName = [newBodyName copy];
}
}
- (void) dealloc {
NSLog(@"_deal_CB: %@", self);
[bodyName release];
bodyName = nil;
[super dealloc];
}
@end
@implementation PlanetClass
- (int *)oceanDepth {
return oceanDepth;
}
- (void)setOceanDepth:(int *)value {
oceanDepth = value;
}
- (void) dealloc {
NSLog(@"_deal: %@", self);
[super dealloc];
}
@end
ура -gary-