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

Jef*_*ume 1 iphone memory-management accelerometer

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

UIAccelerometer   *objAccelerometer;
Run Code Online (Sandbox Code Playgroud)

我正在关联sharedAccelerometer实例:

objAccelerometer = [UIAccelerometer sharedAccelerometer];
objAccelerometer.delegate = self;
Run Code Online (Sandbox Code Playgroud)

当我释放此视图(加载不同的视图)时,加速计实例会导致程序死亡.(如果我已将其注释掉,我可以在没有问题的情况下在视图之间切换).

我有一个与NSTimer类似的问题,但是一旦我打电话:

[myTimer invalidate];
Run Code Online (Sandbox Code Playgroud)

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

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

phi*_*red 6

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

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