ここで何かが欠けているに違いありません。カウンターごとにカウンターを作成しましたが、それらはすべて機能しますが、このコードの下のカウンターi
は常にゼロのままです。カウントは正しく 18 を示しています。これは、配列の値をtrue または falsemapDelays
と比較するという考え方です。i
これは、空港配列 (18 空港) からピンをプロットする別のメソッドから呼び出されます。配列内の項目の 1 つは、true または false の「遅延」です。そのため、空港をプロットするときに、「真」のリレーがあるかどうかを確認し、ある場合はピンを緑ではなく赤にします。はい、私は初心者なので、ポインタがあれば役立ちます-具体的には、フローとロジックが明らかに欠けています!
- (MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:
(id<MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[AirportDetails class]]) {
static NSString *const kPinIdentifier = @"AirportDetails";
MKPinAnnotationView *view = (MKPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:kPinIdentifier];
if (!view) {
view = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:kPinIdentifier];
view.canShowCallout = YES;
view.calloutOffset = CGPointMake(-5, 5);
view.animatesDrop = NO;
}
NSLog(@"I am here");
for (int i = 0; i < self.mapDelays.count; i++) {
NSLog(@"DelaysCount %i",i);
NSLog(@" %i",self.mapDelays.count);
if ([self.mapDelays[i] isEqualToString:@"true"]) {
view.pinColor = MKPinAnnotationColorRed;
view.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
return view;
} else
view.pinColor = MKPinAnnotationColorGreen;
view.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
//}
return view;
}
}
return nil;
}