У меня есть MKMapView внутри UITableView в качестве пользовательской ячейки (не спрашивайте;) - не знаю, действительно ли это важно), для которого я регистрирую метод делегата regionDidChangeAnimated. Этот метод вызывается три раза при загрузке UITableView - один раз с действительной областью, а затем еще два раза с удаленной областью. В симуляторе я последовательно получаю регион с центром (+37.43997405, -97.03125000). На устройстве это, кажется, зависит от местоположения, сообщенного менеджером местоположения, который инициализирует представление карты.
Почему я получаю три звонка regionDidChangeAnimated? И почему координаты центра для последних двух из них отключены?
Это код, который я использую для получения координат центра:
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
CLLocation *l = [[CLLocation alloc] initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude];
(....)