如果 Accelerometer 的事件处理程序接受UIAcceleration *
以下内容:
-(void) accelerometer:(UIAccelerometer *)accelerometer
didAccelerate:(UIAcceleration *)acceleration {
那么如果ViewController
有一个实例变量:
UIAcceleration accelerationCurrent;
然后为了记住加速度作为当前状态,我用
accelerationCurrent = *acceleration;
在加速度计事件处理程序中。但是.h
文件中的实例变量声明给出了“接口类型不能静态分配”的错误。
我以为UIAcceleration
只有 3 个双打:x,y,z,所以如果我们可以CGPoint aPoint
在那里使用,为什么我们不能使用UIAcceleration accelerationCurrent
,我们如何在不单独复制 x、y、z 而是使用一个UIAcceleration
对象的情况下保持加速度?(如果我们声明一个指针,并复制指针(引用),那么在离开加速度计事件处理程序时,指针可能指向非法内存空间)。