//父类
#import "ClassA.h"
#import <Foundation/Foundation.h>
@interface ClassA : NSObject
@end
@implementation ClassA
-(void)dealloc
{
NSLog(@"dealloc ClassA");
}
@end
//子类
#import "ClassA.h"
@interface ClassB : ClassA
@end
@implementation ClassB
//子类此处 实现和不实现delloc都是一样的 [只要子类释放 就是自动释放父类 ARC下不用显式去调用父类[super delloc] ]
-(void)dealloc
{
NSLog(@"dealloc ClassB");
}
@end
//main方法内
ClassA* b = [[ClassB alloc] init];
b = nil;
//打印结果
dealloc ClassB
dealloc ClassA
注意:如果子类中不实现delloc方法
//打印结果
dealloc ClassA
结论:
ARC下,虽然没有显式调用父类的[super dealloc],但结果仍然会调用,编译期间编译器会自动添加 [super dealloc]