【Lession 10 OC语言】- 内存管理1

本节内容

一、dealloc方法

当一个对象被销毁释放时,会调用dealloc方法

在Staff类中重写下dealloc方法,记住,最扣得调用父亲的dealloc方法,因为父类可能还有些对象有释放

【Lession 10 OC语言】- 内存管理1
#import "Staff.h"


@implementation Staff

-(void)dealloc{
    NSLog(@"Staff 被销毁");
    [super dealloc];
}

@end
【Lession 10 OC语言】- 内存管理1
【Lession 10 OC语言】- 内存管理1
#import <Foundation/Foundation.h>
#import "Staff.h"

int main(int argc, const char * argv[])
{
    @autoreleasepool {
        Staff *staff = [[Staff alloc] init];
        [staff setAge:132];
        NSLog(@"staff count: %lu",[staff retainCount]);//%lu 代表 unsigned long
        [staff release];
    }
    return 0;
}
【Lession 10 OC语言】- 内存管理1

结果,可看见对象已经被销毁,被销毁是由[staff release]所导致的,因为当前引用计数器为1,release一下就变成0,所以就被销毁了

2014-03-17 16:41:52.949 HellowWord_OC[1930:303] staff count: 1
2014-03-17 16:41:52.951 HellowWord_OC[1930:303] Staff 被销毁

【Lession 10 OC语言】- 内存管理1,布布扣,bubuko.com

【Lession 10 OC语言】- 内存管理1

上一篇:Javascript多线程引擎(四)


下一篇:STM32 CUBEIDE模拟IIC文件