你如何在iPhone上发布共享加速器实例?

时间:2009-04-11 17:50:30

标签: iphone memory-management accelerometer

我创建了一个加速计变量:

UIAccelerometer   *objAccelerometer;

我正在关联sharedAccelerometer实例:

objAccelerometer = [UIAccelerometer sharedAccelerometer];
objAccelerometer.delegate = self;

当我发布此视图(加载不同视图)时,加速度计实例会导致程序死亡。 (如果我已将其注释掉,我可以毫无问题地在视图之间切换。)

我遇到了与NSTimer类似的问题,但是一旦我打电话给我:

[myTimer invalidate];

(在发布和切换视图之前)一切正常。

我应该如何正确释放代表或解除分配或释放加速度计?

1 个答案:

答案 0 :(得分:6)

你没有发布共享的加速度计 - 你从来没有保留它(也不应该) - 它是一个单身人士。

加速度计可以参考您的对象。为了释放它,只需将它的委托属性设置为nil(因为它是一个属性,它将释放它对你的对象的引用)。