我正在尝试在视图控制器出现时获取用户的坐标。我需要在多个视图控制器中使用此位置,因此将locationManager放在appDelegate中。我的问题是,在第一个viewDidAppear上,坐标尚未被找到。我该如何更改呢?非常感谢大家!!!
我的AppDelegate代码如下:
- (NSString *)getUserCoordinates
{
NSString *userCoordinates = [NSString stringWithFormat:@"latitude: %f longitude: %f",
locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude];
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
return userCoordinates;
}
我的视图控制器通过以下方式获取坐标:
- (void)viewDidAppear
{
NSString *userCoordinates =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate
getUserCoordinates];
}
CLLocation
变量,从其他视图控制器中使用appDelegateInst = (AppDelegate *)[[UIApplication sharedApplication] delegate];
。现在您可以访问所有的appDelegate变量,就像全局变量一样。 - thedp