Вопрос, связанный с акселерометром.(Извините, форматирование может выглядеть неправильно, это первый раз, когда я использую этот сайт).Я получил акселерометр, как и ожидалось, используя стандартный код
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 0.1; //I also tried other update values
Я использую NSLog для регистрации каждый раз, когда вызывается метод акселерометра: didAccelerate: в моем классе.Функция вызывается, как и ожидалось, и все работает до сих пор.
Однако, когда я запускаю цикл, описанный выше метод, похоже, не вызывается.Примерно так:
float firstAccelValue = globalAccel; //this is the x-accel value (stored in a global by the above method)
float nextAccelValue = firstAccelValue;
while (nextAccelValue == firstAccelValue){
//do something
nextAccelValue = globalAccel; // note globalAccel is updated by the accelerometer method
}
Вышеупомянутый цикл никогда не завершается, как и ожидалось, так как акселерометр: didAccelerate: метод не вызывается, и, следовательно, globalAccel никогда не изменяет значение.
Если я использую фиксированное условиечтобы разорвать цикл while, я вижу, что после завершения цикла вызовы метода снова работают нормально.
Я что-то упускаю здесь очевидное?Или метод акселерометра не срабатывает, когда выполняется определенная обработка?
Любая помощь будет принята с благодарностью!Спасибо!