-2

我正在尝试使用我的 appDelegate 从另一个视图获取用户的位置。我可以将它保存在 NSUserDefaults 中,但我想知道是否有更好的方法来做到这一点。

我的 AppDelegate 包含以下内容:

- (NSString *)deviceLocation
{
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;

}

然后我想用这个从另一个页面调用用户的位置:

//Get the User's Location
NSString *location =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate deviceLocation];
4

1 回答 1

1

这不起作用,因为 AppDelegate 中的 deviceLocation 方法不返回任何内容。

如果你想提醒你当前的位置,deviceLocation 应该返回一些东西(即带有当前位置的 NSString)。

然后用这样的东西显示它

NSString *location =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate deviceLocation];

//Alert
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Your Location" 
message:location delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, 
nil];
[alert show];
于 2012-12-16T00:32:55.893 回答