Mi sto confondendo un po 'sul modo di usare il restkit, sembra che ci siano molti modi per fare la stessa cosa, Prima ero contenta solo di fare casino con esso fino a quando non ha funzionato, ma ora ha cambiato il framework e l'utilizzo in 0.20.x, e ho passato molto tempo a convertire il mio codice e ora impiegando ancora più tempo a cercare di farlo funzionare come prima. E ho setacciato per alcuni esempi e simili e quelli che la gente pretende di lavorare per loro, non fanno tanto per me, quindi ci deve essere una differenza da qualche parte, quindi forse qualcuno può dirmi la differenza nel seguente quando si tenta di ottenere questi dati, almeno per esempio 1 & 2 (che fallisce, ma che è per una domanda sul restkit github)RestKit 0.2, più modi per fare una richiesta GET, POST, PUT
response.body={
"player": [
{
"_id": "50585c86ded998e77a000002"
}
]
}
1.
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"player/fbid/:fID" method:RKRequestMethodGET]];
E per ottenere il vostro lettore, qualcosa di simile a questo:
Player *player = [Player new];
player.playerID = 2;
[[RKObjectManager sharedManager] getObject:player path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *result)
{
// Request
} failure:nil];
2.
Utilizzo di una risposta Descrittore come tale.
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:playerWtfMappingIn pathPattern:nil keyPath:@"player" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[[RKObjectManager sharedManager] addResponseDescriptor:responseDescriptor];
[tempPlayer setFbID:[result objectForKey:@"id"]];
[objectManager getObject:tempPlayer path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
{
}
failure:nil];
3.
o di fatto Blakes proprio exmaple sul RestKit wiki
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:articleMapping pathPattern:nil keyPath:@"articles" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
NSURL URL = [NSURL URLWithString:@"http://restkit.org/articles"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]];
[objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
RKLogInfo(@"Load collection of Articles: %@", objects);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
RKLogError(@"Operation failed with error: %@", error);
}];
[objectRequestOperation start];
e sono sicuro che ci sono molti altri modi, Il mio sospetto se qualcuno può confermare è che il il modo in cui dovresti impostare il tuo percorso e se usi un metodo piuttosto che un altro è deciso piuttosto dal set di dati che stai cercando di mappare e dal suo formato. Poi di nuovo un po 'sembra anche un modo diverso di fare la stessa identica cosa? Grazie
un po 'confuso, ma il migliore breve post su come usarlo mi sono imbattuto finora :) –