У меня есть панель поиска в моем приложении, в которую пользователь может ввести адрес, и он придумает результат с геокодированием. Результат обновляется по типу пользователя в соответствии со следующим кодом:
- (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.)"
Геокодер не работает снова, пока весь ViewController не будет перезагружен. Почему это может произойти, и что я могу сделать, чтобы разрешить это?