my を初期化してを呼び出すgetLocation
メソッドがあります。ユーザーの位置を取得したら、 を呼び出します。CLLocationManager
startUpdatingLocation
stopUpdatingLocation
その後、ユーザーが更新を押すと、ユーザーの最新の場所を取得できるように呼び出すメソッドreloadData
を呼び出します。getLocation
ただし、これはlocationManager:didUpdateToLocation:fromLocation
メソッドを呼び出すことはありません..そのため、ユーザーの最新の場所を取得することはありません。問題は何ですか?
-(void) getLocation {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
}
- (void) locationManager: (CLLocationManager *)manager
didUpdateToLocation: (CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
if (oldLocation!= nil) { // make sure to wait until second latlong value
[self setLatitude:newLocation.coordinate.latitude];
[self setLongitude: newLocation.coordinate.longitude];
[self.locationManager stopUpdatingLocation];
self.locationManager.delegate = nil;
self.locationManager = nil;
[self makeUseOfLocationWithLat:[self getLatitude] andLon:[self getLongitude]];
}
}
-(void) reloadData {
[self getLocation];
}