错误:从不兼容的types“id”分配给“CLLocationCoordinate2D”

海我试图在mkmap中显示多个注释。 当我添加坐标时,它显示错误:“从不兼容的types”id“”分配给“CLLocationCoordinate2D”。 我知道这是一个简单的概率,但我已经search了很多次,并尝试了很多,但没有工作,我的代码是,

for(int i=0 ; i<coordinates.count ; i++) { MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; point.coordinate =[coordinates objectAtIndex:i]; //here it shows the error point.title = @"title"; [self.mapView addAnnotation:point]; } 

善意地build议我解决这个问题。 谢谢…

由于CLLocationCoordinate2D不是一个Objective-C对象,而是一个struct ,它不能直接存储在一个NSArray对象中,而是必须包装在一个NSValue对象中。

因此从数组读取坐标的代码可能是

 CLLocationCoordinate2D coords; [[coordinates objectAtIndex:i] getValue:&coords]; point.coordinate = coords; 

但是要知道,我需要看看数组是如何创build的。