CLLocationCoordinate2D, не зная, сколько будет в массиве?

Я должен создать массив с помощью чего-то как следующее:

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.

8
задан Nic Hubbard 12 August 2010 в 21:25
поделиться

2 ответа

// 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);
15
ответ дан 5 December 2019 в 11:21
поделиться

Поместите их в объект NSValue и поместите в NSMutableArray .

0
ответ дан 5 December 2019 в 11:21
поделиться