Relação de dados do núcleo perdida após a obtenção de mais objetos nas entidades

Eu tenho um modelo de dados do núcleo que se parece com isso.

Dentro de uma tableview eu carrego todos os meus compromissos. Com umUILabel dentro do meucustom cell Eu defino o nome do local de compromissos da seguinte maneira.

NSString *info = appointment.location.label_vrij;

No começo tudo funciona Oké, mas quando eu carrego mais compromissos no meudatabase. Todas as strings de informação vãoNULL. Depois de algum debugging notei que tambémappointment.location devolveNULL.

É assim que meu NSFetchRequest se parece

RKManagedObjectStore *store = [[SanMaxDataModel sharedDataModel] objectStore];
    NSManagedObjectContext *context = store.mainQueueManagedObjectContext;

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Appointment"];
    NSString *relationshipKeyPath = @"location"; // Set this to the name of the relationship on "A" that points to the "B" objects;
    NSArray *keyPaths = [NSArray arrayWithObject:relationshipKeyPath];
    [fetchRequest setRelationshipKeyPathsForPrefetching:keyPaths];
    NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"dateStart" ascending:YES];
    fetchRequest.sortDescriptors = @[descriptor];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:
                              @"tijd_dag = %@",strDate];
    [fetchRequest setPredicate:predicate];
    NSArray *matches = [context executeFetchRequest:fetchRequest error:nil];
    appointments = [matches mutableCopy];

Então eu acho que meu relacionamento está bagunçado?

EDITAR

Estou usando o Restkit para mapear meus compromissos no meu banco de dados principal. A partir dos comentários abaixo, decidi desativar o flag de opção do atributo location dentro da entidade Appointment. Porque um compromisso deve sempre ter um local.

Agora, quando eu carregar o primeiro dia. Tudo funciona oké. Mas quando tento carregar no dia seguinte, recebo o erro:The operation couldn\U2019t be completed. (Cocoa error 1570.) Agora, quando dou uma olhada no erro detalhado

DetailedError: {
    NSLocalizedDescription = "The operation couldn\U2019t be completed. (Cocoa error 1570.)";
    NSValidationErrorKey = location;
    NSValidationErrorObject = "<Appointment: 0x864e2f0> (entity: Appointment; id: 0x9272c70 <x-coredata://9692683D-3077-4362-9253-652AC5B36444/Appointment/p9> ; data: {\n    autouur = 1;\n    breekuur = 0;\n    data1 = \"\";\n    data2 = \"\";\n    data3 = \"\";\n    data4 = \"\";\n    data5 = \"\";\n    data6 = \"\";\n    data7 = \"\";\n    data8 = \"\";\n    data9 = \"\";\n    dateStart = \"2013-10-23 09:00:00 +0000\";\n    dateStop = \"2013-10-23 09:30:00 +0000\";\n    duration = 30;\n    email = \"\";\n    entryID = 774294984959;\n    info = \"\";\n    \"is_blocked\" = 0;\n    \"is_except\" = 0;\n    \"is_free\" = 1;\n    \"is_moved\" = 0;\n    \"is_vert\" = 0;\n    locatieID = 773150;\n    location = nil;\n    multiID = nil;\n    serverEntryID = 774294984959;\n    serverLocatieID = 773150;\n    sms = \"\";\n    \"tijd_dag\" = 20131023;\n    \"tijd_uur\" = 900;\n})";
}

É assim que eu carrego o JSON nos dados principais

-(void)getAppointmentsForDate:(NSString *)date forUserID:(NSString *)userID{
    API *api = [API new];
    RKManagedObjectStore *store = [[SanMaxDataModel sharedDataModel] objectStore];
    NSLog(@"store is %@",store);
    NSManagedObjectContext *context = store.mainQueueManagedObjectContext;
    RKObjectManager *objectManager = [api mapAppointments];

    NSString *urlString = [NSString stringWithFormat:@"/doctor/1.0/json/nl/appointments/get-by-date/apikey/%@?uid=%@&date=%@",APIKey,userID,date];
   // NSString *urlString = [NSString stringWithFormat:@"/doctor/1.0/json/nl/appointments/get-by-date/apikey/%@?uid=77382&date=%@",APIKey,date];


    NSURLRequest *request = [objectManager requestWithObject:nil method:RKRequestMethodGET path:urlString parameters:nil];
    RKManagedObjectRequestOperation *operation = [objectManager managedObjectRequestOperationWithRequest:request managedObjectContext:context success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
        NSLog(@"TILL HERE IN METHOD");
        NSError *error = nil;
        [[NSNotificationCenter defaultCenter] postNotificationName:@"appointmentsLoaded" object:self];
      [[SanMaxDataModel sharedDataModel] saveToPersistentStoreAsync:&error];
     } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:[error localizedDescription]
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
        NSLog(@"Hit error: %@", error);

    }];
    [objectManager enqueueObjectRequestOperation:operation];
}

questionAnswers(1)

yourAnswerToTheQuestion