Mam pasek wyszukiwania w mojej aplikacji, w którym użytkownik może wpisać adres, a pojawi się z geokodowanym wynikiem. Aktualizacje wynik jako typów użytkowników, zgodnie z poniższym kodem:KCLErrorDomain error 2 po geokodowaniu wielokrotnie z CLGeocoder
- (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
}];
}
Działa to przez kilka pierwszych znaków użytkownik wpisze w polu wyszukiwania. Jednak po użytkownik wpisze więcej znaków wielokrotnie geocoder zaczyna podając następujący błąd (co wiem, oznacza to, że wystąpił problem z siecią):
ERROR during geocode: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.)"
geocoder nie działa ponownie, dopóki cała ViewController jest ponownie załadowany. Dlaczego tak się mogło stać i co mogę zrobić, aby go rozwiązać?
O tak, nie zauważyłem tej linii w dokumentach. Ma doskonały sens. – jburns20
Na pewno żałuję, że nie było okresu karencji na tydzień lub dwa podczas opracowywania: ( –