我正在做的是在分配 obj 和释放这个 obj 之后检查 retainCount。像下面
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
TestClass *ptr = [[TestClass alloc] init];
NSLog(@"retain count of ptr is %d",[ptr retainCount]);
[ptr release];
NSLog(@"Right after release:::::retain count of ptr is %d",[ptr retainCount]);
}
在控制台上显示后得到的是
2012-05-11 13:51:09.515 memoryManagement[1807:f803] retain count of ptr is 1
2012-05-11 13:51:09.516 memoryManagement[1807:f803] Right after release:::::retain count of ptr is 1
我不明白为什么释放后的retainCount仍然是1。应该是0。
请就这个问题给我建议,并指出我是否在我的代码中犯了错误。