1

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

UIAccelerometer   *objAccelerometer;

我与 sharedAccelerometer 实例相关联:

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

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

我在使用 NSTimer 时遇到了类似的问题,但是一旦我打电话:

[myTimer invalidate];

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

我应该如何正确释放委托或取消分配或释放加速度计?

4

1 回答 1

6

你不释放共享的加速度计——你从来没有保留它(也不应该)——它是一个单例。

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

于 2009-04-11T18:03:40.877 回答