휴대 전화의 위치를 결정하기 위해 가속도계 데이터를 통해 내 응용 프로그램이 반복적으로 반복되도록 코드를 설정했습니다. 휴대 전화의 Z 좌표를 가져올 수 있기를 원합니다. 그들에 기초한 행동을 부르십시오.가속도계를 사용하여 void 만 한 번만 호출하십시오.
이if (.3 > filter.z && filter.z > -.3){
NSLog(@"STRAIGHT = %f", filter.z);
}
else if (1.3 > filter.z && filter.z > .7){
NSLog(@"DOWN = %f", filter.z);
[self performSelector:@selector(loadNextFlag) withObject:nil
afterDelay:1.0];
}
else if (-.4 > filter.z && filter.z > -1.3){
NSLog(@"UP = %f", filter.z);
}
이 코드는 작동합니다
는 지금은이 있습니다. 전화가 향하고있는 방향을 알고 정보를 올바르게 기록합니다. 작동하지 않는 것은 performSelector입니다. 휴대 전화를 아래로 기울이면 가속도계가 좌표 정보를 지속적으로 새로 고침하기 때문에 performSelector 액션이 몇 초 내에 많은 시간 호출되어 앱이 다운됩니다. 누구든지 Z 좌표를 추적하면서 휴대 전화를 아래로 기울일 때마다 한 번만 작업을 호출 할 수있는 방법을 알고 있습니까?
감사합니다, 나는 실제로 다음 아래로 기울어 진 직선 다시 기울어 때 가속도계 정보를 다시 시작할 때 가속도계를 일시 정지하는 부울 값을 추가하여 해결했다. 따라서 모든 틸트가 작동 할 때만 한 번씩 동작을 호출합니다. –