現在のテストでは、「celestialClass」から継承するクラス「PlanetClass」があります。私の質問は、「PlanetClass」オブジェクトを解放すると、両方のdeallocメソッドを通過し、最初にPlanetオブジェクトを解放し、次にCelestialオブジェクトを解放することです。iVar "bodyName"をリリースできるように、deallocをcelestialに追加しました。確認したかったのは、この権利があると思いますか?
@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-