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