Ios 计数器保持在零位
我一定是遗漏了什么。我创建了一个接一个的计数器,它们都可以工作,但在这个代码中,计数器下方的Ios 计数器保持在零位,ios,ios6,Ios,Ios6,我一定是遗漏了什么。我创建了一个接一个的计数器,它们都可以工作,但在这个代码中,计数器下方的I始终保持为零。mapDelays计数正确显示18。其思想是将i处的数组值与true或false进行比较。这是从另一个方法调用的,该方法从airports数组(18个airports)绘制管脚。数组中的一项是'delay',true或false。因此,当我绘制机场图时,我想看看是否有“真”的接力,如果有,请将针脚改为红色而不是绿色。是的,我是一个新手,所以任何指针都会有所帮助——特别是,我显然缺少流程和逻
I
始终保持为零。mapDelays
计数正确显示18。其思想是将i
处的数组值与true或false进行比较。这是从另一个方法调用的,该方法从airports数组(18个airports)绘制管脚。数组中的一项是'delay',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;
}
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:
(id)注释
{
if([annotation IsKindof类:[AirportDetails类]]){
静态NSString*常量kPiniIdentifier=@“AirportDetails”;
MKPinAnnotationView*视图=(MKPinAnnotationView*)[mapView出列可重用AnnotationViewWithIdentifier:kPinIdentifier];
如果(!视图){
视图=[[MKPinAnnotationView alloc]initWithAnnotation:annotation重用标识符:kPinIdentifier];
view.canShowCallout=是;
view.calloutOffset=CGPointMake(-5,5);
view.animatesDrop=否;
}
NSLog(“我在这里”);
对于(int i=0;i
我不知道NSLog语句中有任何%I说明符
那不是吗
NSLog(@"DelaysCount %d",i);
NSLog(@" %d",self.mapDelays.count);
更改代码格式后,我发现在
I
的第一个for循环中,您有返回视图代码>这将停止for循环。所以你得到了零。下次你应该注意你的编码风格。特别是对于{}
由于if/else的两个分支都从方法返回,for循环将只执行一次(即i==0)。我最初将return视图放在外部,并将其放在那里测试这是否有任何影响?我仍然得到相同的结果,零。仔细检查你的代码并更新你的问题。所以我们可以帮你更多。是的,把{}放错地方了,改变了它,一切都正常,计数,计数!!!非常感谢你能听到这个。有时候你看了很多东西,却错过了!!很难说没有看到程序逻辑,但听起来好像调用方法,也就是你说的plots pins,是需要for循环的方法,因为它需要每个机场的视图。然后调用方将传递一个i
值,该值将机场与您发布的方法的逻辑相匹配。(也许……我是根据不完整的信息猜的!)好的,我会试试。我明白你的意思。感谢您花时间回复,我非常感谢!
NSLog(@"DelaysCount %d",i);
NSLog(@" %d",self.mapDelays.count);