UIAccelerometerDelegate:我可以有两个对象来处理DidAccelerate事件吗?

时间:2012-12-06 14:11:00

标签: ios delegates uiaccelerometer

我将我的Android应用程序移植到iOS,并且加速度计有点麻烦。我想要两个不同的类,它们具有DidAccelerate实现。我制作了两个对象,每个对象都成为UIAccelerometer的代表。但只有一个对象 - 最后创建的对象有效。另一个没有从加速度计得到事件。 UIAccelerometer不能让两个代表在一个应用程序中同时工作?

2 个答案:

答案 0 :(得分:1)

我会将您的视图控制器作为加速度计的主要代理,然后让该实现将数据传递给任何其他相关方:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

    /* So just create a couple properties to hold an instance of your other delegates. */
    [self.accelerometerDelegate1 accelerometer:accelerometer didAccelerate:acceleration];

    [self.accelerometerDelegate2 accelerometer:accelerometer didAccelerate:acceleration];
}

答案 1 :(得分:0)

您可能希望使用singleton