CLLocationCoordinate2D, ohne zu wissen, wie viele in der Gruppe sein wird?
-
28-09-2019 - |
Frage
Ich brauche ein Array mit so etwas wie die folgenden erstellen:
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);
Das Problem ist, ich werde nie wissen, wie viele Elemente im Array sein werden, so kann ich die Zählung angeben. Gibt es eine Möglichkeit, eine CLLocationCoordinate2D Array zu erstellen, und nur Einsatz neue Koordinaten, ohne zu wissen, was die Endsumme sein?
EDIT:. Mein Endziel ist es, die Koordinaten zu verwenden, um eine MKPolyline zu machen, die polylineWithCoordinates-Methode, die eine CLLocationCoordinate2D Array benötigt
Lösung
// 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);
Andere Tipps
Box sie in einem NSValue
Objekt und sie in einem NSMutableArray
werfen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow