Безопасный интервал обновления для startDeviceMotionUpdatesToQueue: withHandler :?
EDIT: added a global and now it's working. But I still have my doubts.. Please read on :)
Я хочу, чтобы ускорение осуществлялось по оси Y всякий раз, когда мне это нужно, и использую его в разных частях моего кода. В этом примере я использую его внутри цикла while для целей тестирования.
Мой код работает, но правильно ли я использую метод UpdateToQueue ... или это неординарный метод? способ достижения того, что я хочу?
Я установил интервал обновления равным 30 мс. Как вы думаете, это "безопасно"? интервал обновления? Мне сказали, что я должен быть осторожен при выборе, потому что текущие или более поздние обновления оборудования / iOS могут не поспевать за таким интервалом, это правда?
double myAcceleration; // a global..
-(void) play // my "main" method..
{
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 0.03; // update every 30ms
[motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMDeviceMotion *motion, NSError *error)
{
myAcceleration = motion.userAcceleration.y;
}
];
while(!self.stopButtonPressed)
{
NSLog(@"Y-Axis acceleration is %f", myAcceleration);
}
}