¿Cómo se almacenan los datos de NSMutable Array en Core Data?

La aplicación que estoy haciendo dibuja unPolyline basado en las coordenadas de los usuarios deCLLocationManager (todos estos se guardan en unNSMutableArray)

Cuando se cierra la aplicación, la polilínea actual desaparece. ¿Cómo puedo almacenar la matriz de puntos en CoreData para recuperar cuando se inicia la aplicación? Todas las 'rutas' pasadas que el usuario ha tomado desde que inició la aplicación deben recuperarse y superponerse en el mapa (que puede ser bastante, por lo que CoreData parece la mejor opción de lo que he reunido).

Este es el código que uso para crear una MKPolyline a partir de las coordenadas cargadas

-(IBAction)didClickLoadCoordinates:(id)sender {
// get a reference to the appDelegate so you can access the global managedObjectContext
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Route"];
NSError *error;
id results = [appDelegate.managedObjectContext executeFetchRequest:request error:&error];

if ([results count]) {
    polyLine = (Route *)(results[0]);
    NSArray *coordinates = polyLine.coordinates;
    int ct = 0;
    for (CLLocation *loc in coordinates) {
        NSLog(@"location %d: %@", ct++, loc);


    }


    // this copies the array to your mutableArray
    _locationsArray = [coordinates mutableCopy];

}

NSInteger numberOfSteps = _locationsArray.count;

//convert to coordinates array to construct the polyline

CLLocationCoordinate2D clCoordinates[numberOfSteps];
for (NSInteger index = 0; index < numberOfSteps; index++) {
    CLLocation *location = [_locationsArray objectAtIndex:index];
    CLLocationCoordinate2D coordinate2 = location.coordinate;
    clCoordinates[index] = coordinate2;
}

MKPolyline *routeLine = [MKPolyline polylineWithCoordinates:clCoordinates count:numberOfSteps];
[_mapView addOverlay:routeLine];

Respuestas a la pregunta(1)

Su respuesta a la pregunta