分配和释放类对象

时间:2013-11-15 13:35:31

标签: iphone objective-c

我有一个小小的初学者问题,例如在我的ViewDidLoad方法中,我想分配一个新的类对象,在该新类中执行一些方法然后释放它:

Calibration *cali = [[Calibration alloc] initWithMainViewController:self];

[cali doCalibration];

[cali release];

那为什么这不起作用?!为什么它会给我一个糟糕访问的崩溃?!

顺便说一句:请不要建议我使用ARC。我正在开发一个没有ARC的现有项目

编辑:

Stacktrace:[CFRunLoopTimer invalidate]:发送到解除分配的实例0xc2436d0的消息

1 个答案:

答案 0 :(得分:0)

当变量被释放时,将发生简短的答案崩溃,如果尝试访问该变量,它将崩溃。因此,为避免这种情况,只需在.h文件中声明实例变量,并在.m文件中使用dealloc方法释放您的实例变量。下面是dealloc方法,在.m文件中声明相同。

-(void)dealloc
{
[cali release];
 }