Я должен создать массив с помощью чего-то как следующее:
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, с помощью polylineWithCoordinates метода, для которого нужен массив CLLocationCoordinate2D.
// 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);
Поместите их в объект NSValue
и поместите в NSMutableArray
.