我在我的应用程序中有一个搜索栏,用户可以在其中输入地址,并得到地理编码结果。根据以下代码,当用户输入时,结果会随之更新:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
...
if (self.geocoder.geocoding) [self.geocoder cancelGeocode];
[self.geocoder geocodeAddressString:searchText completionHandler:^(NSArray *placemarks, NSError *error) {
if (error != nil) {
NSLog(@"ERROR during geocode: %@", error.description);
return;
}
//update the view
}];
}
这适用于用户在搜索字段中输入的前几个字符。然而,当用户重复输入更多字符后,地理编码器开始出现以下错误(我知道这意味着网络存在问题):
ERROR during geocode: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.)"
地理编码器在整个视图控制器重新加载之前无法正常工作。为什么会发生这种情况,我该如何解决?