RestKit: jak usunąć podstawowe dane, aby zachować synchronizację zawartości z serwerem?
Używam RestKit RKObjectManager do pobierania danych z mojego serwera i zapisywania w podstawowych danych (zobacz mój innysłupek)
Chcę skonfigurować zachowanie usuwania starych wpisów pozostawionych w bazie danych.
Widziałem, że w klasie RKEntityMapping jest właściwość deletionPredicate, ale rozumiem, że jest ona używana tylko wtedy, gdy usługa faktycznie zwraca obiekty do usunięcia oznaczone jako „do usunięcia”. (czy mam rację?)
W moim przypadku, gdy niektóre obiekty muszą zostać usunięte, po prostu NIE są zwracane przez serwer i chcę, aby moja aplikacja kliencka zrozumiała, że oznacza to, że powinna je usunąć.
Czy to jest możliwe? A jeśli tak, to w jaki sposób?
EDYTOWAĆ:
OK, przyjrzałem sięten link i dodałem ten blok żądania pobrania do mojego menedżera RKObjectManager:
[[RKObjectManager sharedManager] addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) {
RKPathMatcher *pathMatcher = [RKPathMatcher pathMatcherWithPattern:@"/path_to_ressource"];
NSDictionary *argsDict = nil;
BOOL match = [pathMatcher matchesPath:[URL relativePath] tokenizeQueryStrings:NO parsedArguments:&argsDict];
if (match) {
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Entity"];
fetchRequest.sortDescriptors = @[ [NSSortDescriptor sortDescriptorWithKey:@"entityId" ascending:YES] ];
return fetchRequest;
}
return nil;
}];
Zatrzymałem sortDescriptor, ale jaki jest dokładnie jego cel?