3

当我更改另一个位置的纬度和经度值时,我的应用程序会自动关闭有帮助吗?

if (1)
{
    CLLocationCoordinate2D cordi;
    cordi.latitude  =  45.574779;
    cordi.longitude = -122.685366;

    MKReverseGeocoder *coder = [[MKReverseGeocoder alloc] initWithCoordinate:cordi];
    coder.delegate = self;
    [coder start];
}
else
{
    [self performSelectorInBackground:@selector(showWeather:) withObject:@"97217"];
}
4

1 回答 1

1

正如 Twelve47 所说,您应该完全实现委托,因为这两种方法都不是可选的。

听起来您只实现了 sucess 方法:

– reverseGeocoder:didFindPlacemark:

因此,当您将位置更改为无法进行地理编码的某个位置时,会调用失败方法,这会导致错误。

添加此代码:

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error
   NSLog(@"Geocoder failed with error: %@",error);
}
于 2011-04-07T19:47:23.333 回答