gpt4 book ai didi

ios - Core Location在viewDidLoad中获取不到数据

转载 作者:行者123 更新时间:2023-11-28 21:58:07 25 4
gpt4 key购买 nike

我编写了一个简单的 iOS 应用程序来检索位置信息,然后使用该位置请求 Yahoo Weather。

问题是,即使我在 viewDidLoad 中调用 Core Location,它也不会立即给我结果。

那为什么我获取不到位置信息呢?

如何获取viewDidLoad中的位置信息?

目前的伪代码是这样的:

- (void)viewDidLoad
{
[super viewDidLoad];

self.locManager = [[CLLocationManager alloc] init];
self.locManager.delegate = self;

self.locManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locManager.distanceFilter = 100;
[self.locManager startUpdatingLocation];

//won't get the current location right now, so the output will be null
NSLog(@"Current Location Longitude: %@", self.longitudeString);
NSLog(@"Current Location Latitude: %@", self.latitudeString);
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *newLocation = [locations lastObject];
self.longitudeString = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.longitude];
self.latitudeString = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.latitude];
}

最佳答案

位置更新不会像您期望的那样立即提供,您需要等待几秒钟(2-3 或可能更长时间)才能获得精确的位置更新。如果你想在 viewDidLoad 中有位置数据,那么你应该在调用 ViewController 之前初始化你的位置管理器(并调用 startUpdatingLocation)(从那时起不能保证你在 viewDidLoad 中有位置数据)。

关于ios - Core Location在viewDidLoad中获取不到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25855381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com