Как дождаться, пока диспетчер местоположений не получит высокоточные данные

У меня есть этот код, чтобы подождать некоторое время, чтобы получить высокоточные данные:

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{

  if((newLocation.horizontalAccuracy < 150 && newLocation.horizontalAccuracy > 0 /* valid */ && abs(howRecent) < 15.0 /*If it's a relatively recent event less than 15 seconds */))


}

проблема в другой части мое приложение, мне нужно дождаться возврата этого метода, поэтому я использовал:

[NSThread sleepForTimeInterval:5]; // wait 5 seconds

Это хорошая практика, или есть лучший способ дождаться выполнения другой задачи.

5
задан Lion 8 December 2016 в 05:46
поделиться