ユーザーがRegionAnnotationを削除したいときに確認として表示されるUIAlertViewがあります。
RegionAnnotationを削除するために必要なUIAlertViewを呼び出したRegionAnnotationViewにアクセスする方法を理解するのに問題があります。
これが私の壊れたコードです-AlertViewのスーパービューをRegionAnnotationViewにキャストしようとしている場所を確認できます(明らかに悪い考えです)。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex==0)
{
NSLog(@"alertView.superview is a %@",alertView.superview);
RegionAnnotationView *regionView = (RegionAnnotationView *)alertView.superview;
RegionAnnotation *regionAnnotation = (RegionAnnotation *)regionView.annotation;
[self.locationManager stopMonitoringForRegion:regionAnnotation.region];
[regionView removeRadiusOverlay];
[self.mapView removeAnnotation:regionAnnotation];
}
}