代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Berthiaume

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

  •  1
  • Jeffrey Berthiaume  · 技术社区  · 16 年前

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

    UIAccelerometer   *objAccelerometer;
    

    我将关联到SharedAccelerometer实例:

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

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

    我也遇到过类似的问题,但有一次我打电话给:

    [myTimer invalidate];
    

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

    我应该如何正确地释放学员或解除分配或释放加速度计?

    1 回复  |  直到 16 年前
        1
  •  6
  •   philsquared    16 年前

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

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