Objective c 将NSNumber转换为CLCoordinate

Objective c 将NSNumber转换为CLCoordinate,objective-c,coordinates,core-location,cllocation,Objective C,Coordinates,Core Location,Cllocation,我想从数据库中将坐标列表拉入数组(在地图上显示它们之前)。然而,在数据库中,它们的类型是Number,我不知道如何将它们转换为坐标 这不起作用: 其中我有一个ATM对象(坐标是ATM机的坐标),其中NSN数字表示纬度和经度。这是一个索引为i的循环,以便一个接一个地拉出它们。atmsArray已经加载 ATM *aATM = [self.atmsArray objectAtIndex:i]; CLLocationCoordinate2D coord=[[CLLocationCoordinate

我想从数据库中将坐标列表拉入数组(在地图上显示它们之前)。然而,在数据库中,它们的类型是Number,我不知道如何将它们转换为坐标

这不起作用: 其中我有一个ATM对象(坐标是ATM机的坐标),其中NSN数字表示纬度和经度。这是一个索引为i的循环,以便一个接一个地拉出它们。atmsArray已经加载

ATM *aATM = [self.atmsArray objectAtIndex:i];


CLLocationCoordinate2D coord=[[CLLocationCoordinate2D alloc] initWithLatitude:(CLLocationDegrees)aATM.Latitude longitude:(CLLocationDegrees)aATM.Longitude];
显示错误: -CLLocationCoordinate2D不是Objective类名或别名 -当需要浮点值时使用的指针值 -当需要浮点值时使用的指针值

我试过几种不同的方法,但都不明白。如果需要更多信息,请告诉我。

您想要的是:

CLLocationCoordinate2D coord;
coord.longitude = (CLLocationDegrees)aATM.Longitude;
coord.latitude = (CLLocationDegrees)aATM.Latitude;

aAtm.Longitude和aAtm.Latitude是NSNumber,它们是指针,因此不能转换为CLLocationDegrees。您需要使用NSNUMBER的双值

CLLocationCoordinate2D coord;
coord.longitude = (CLLocationDegrees)[aATM.Longitude doubleValue];
coord.latitude = (CLLocationDegrees)[aATM.Latitude doubleValue];