Я разрабатываю приложение IOS в своем приложении, когда запускаю приложение. App Run отлично. Но длина массива не учитывается для каждого. Как подсчитать длину массива для каждого. Заранее спасибо.NSArrayI objectAtIndex:]: index 7 за пределами границ [0 .. 6]
Это ошибка ..
'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 7 beyond bounds [0 .. 6]'
Код
- (void)viewDidLoad {
[super viewDidLoad];
count = 0;
marker = [[GMSMarker alloc] init];
marker.position = camera.target;
marker.snippet = @"Jalandhar";
marker.map = mapView;
self.view = mapView;
timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(updateLocation:) userInfo:nil repeats:YES];
}
- (void)updateLocation:(NSTimer *)timer {
[mapView clear];
NSMutableArray *longitute = [[NSMutableArray alloc]init];
NSDictionary *latLongDict = @{@"lat": @[@"31.3062", @"31.3107",@"31.3102",@"31.3194",@"31.3312",@"29.9083",@"31.2941",],@"long": @[@"75.5935", @"75.6061",@"75.6117",@"75.5845",@"75.5908",@"75.7299",@"75.5844",]};
[longitute addObject:latLongDict];
for (NSDictionary *dic in longitute) {
NSString *val = [[dic valueForKey:@"lat"]objectAtIndex:count];
NSString *value = [[dic valueForKey:@"long"]objectAtIndex:count];
NSLog(@"%@",val);
NSLog(@"%@",value);
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat: 2.0] forKey:kCATransactionAnimationDuration];
CLLocationCoordinate2D center;
center.latitude=[val doubleValue];
center.longitude=[value doubleValue];
marker = [[GMSMarker alloc] init];
marker.position = center;
marker.map = mapView;
self.view = mapView;
[CATransaction commit];
count++;
}
}
Является ли окончательный код или его часть код в исключении? – Vishnuvardhan
Каждый раз, когда срабатывает таймер, вы увеличиваете 'count', и вы не останавливаете таймер или не перезапускаете' count', когда он превышает размер ваших массивов – Paulw11