我试图添加到一个可变数组,但无法解决这个问题。将不兼容的数据类型的错误引发为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的新手以及一般的编程。
答案 0 :(得分:1)
(你真的应该包含不起作用的代码 - 在这种情况下是实际的addObject:
代码。)
但是我可以告诉你,问题是你可能正在尝试向数组添加一个裸的CLLocationDistance,这不会起作用,因为它不是一个对象。 typedef
为double
,因此您需要使用例如[NSNumber numberWithDouble:distance]
来包装它。