Проблемы с преобразованием данных в cllocationdistance
Я пытаюсь добавить в изменчивый массив и не могу понять это. Выдает ошибку для несовместимых типов данных double в id. Вопрос в том, как преобразовать расстояние и сохранить его в своем массиве.
for (int i = 0; i < _getAllLocations.count; i++) {
uscInfo *entity = [_getAllLocations objectAtIndex:i];
NSNumber *numlat=[[NSNumber alloc] initWithDouble:[entity.Latitude doubleValue]];
NSNumber *numlon=[[NSNumber alloc] initWithDouble:[entity.Longitude doubleValue]];
NSLog(@"%d",[_getAllLocations count]);
la=[numlat doubleValue];
lo=[numlon doubleValue];
CLLocation *currentLocation = [[CLLocationalloc]initWithLatitude:lalongitude:lo];////here put your destination point
//NSLog(@"New Location:%@", newLocation);
CLLocationDistance distance = [newLocation distanceFromLocation:currentLocation];
NSLog(@"%@ (%@) %4.0f km from current location",entity.EntityNo, entity.EntityName, distance);
NSLog(@"%@",currentLocation);
Я пытаюсь сохранить "расстояние" в моем массиве "locationDistance"
спасибо за любую помощь, я все еще новичок в iOS, а также в программировании в целом.
1 ответ
Решение
(Вы действительно должны включить код, который не работает - в этом случае фактический addObject:
код.)
Но я могу сказать вам, что проблема в том, что вы, вероятно, пытаетесь добавить в массив голый CLLocationDistance, который не будет работать, поскольку он не является объектом. Это typedef
как double
поэтому вам нужно обернуть его, например, [NSNumber numberWithDouble:distance]
,