本节内容
一、dealloc方法
当一个对象被销毁释放时,会调用dealloc方法
在Staff类中重写下dealloc方法,记住,最扣得调用父亲的dealloc方法,因为父类可能还有些对象有释放
#import "Staff.h" @implementation Staff -(void)dealloc{ NSLog(@"Staff 被销毁"); [super dealloc]; } @end
#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; }
结果,可看见对象已经被销毁,被销毁是由[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 被销毁