我需要使用以下内容构建数组:
CLLocationCoordinate2D points[4];
points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);
问题是,我永远不会知道数组中有多少项,所以我可以指定计数。有没有办法创建一个CLLocationCoordinate2D数组,只需插入新坐标而不知道最终总数是多少?
编辑:我的最终目标是使用坐标来制作MKPolyline,使用需要CLLocationCoordinate2D数组的polylineWithCoordinates方法。
答案 0 :(得分:15)
// unpacking an array of NSValues into memory
CLLocationCoordinate2D *points = malloc([mutablePoints count] * sizeof(CLLocationCoordinate2D));
for(int i = 0; i < [mutablePoints count]; i++) {
[[mutablePoints objectAtIndex:i] getValue:(points + i)];
}
MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:points count:[mutablePoints count]];
free(points);
答案 1 :(得分:0)
将它们装入NSValue
对象并将其放入NSMutableArray
。