Jestem trochę zmieszany co do sposobu korzystania z pakietu restkit, wygląda na to, że jest wiele sposobów na zrobienie tego samego. Zanim się zmyliłem z nim do czasu, aż zadziałało, ale teraz zmienił ramy i użycie w 0.20.x, I spędziłem dużo czasu, konwertując mój kod, a teraz spędzając jeszcze więcej czasu próbując zmusić go do pracy jak wcześniej. Przeszukałem niektóre przykłady i takie, które ludzie twierdzą, że pracują dla nich, nie robią dla mnie za dużo, więc gdzieś musi być różnica, więc może ktoś może mi powiedzieć, jaka jest różnica w próbie uzyskać te dane co najmniej na przykład 1 & 2 (co nie, ale to jest za pytanie o restkit github)RestKit 0.2, wiele sposobów, aby wykonać żądanie GET, POST, PUT
response.body={
"player": [
{
"_id": "50585c86ded998e77a000002"
}
]
}
1.
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Player class] pathPattern:@"player/fbid/:fID" method:RKRequestMethodGET]];
i uzyskać odtwarzacza, coś takiego:
Player *player = [Player new];
player.playerID = 2;
[[RKObjectManager sharedManager] getObject:player path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *result)
{
// Request
} failure:nil];
2.
Używanie deskryptora odpowiedzi jak w przykładzie.
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.
Albo faktycznie Blake'ów własne exmaple na wiki RestKit
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];
I jestem pewien, że istnieje wiele innych sposobów, Mam podejrzenie, czy ktoś może to potwierdzić, że jest sposób, w jaki powinieneś ustawić swoją ścieżkę i czy używasz jednej metody nad drugą, jest zdecydowanie determinowany przez zestaw danych, który próbujesz mapować i jego format. Z drugiej strony, niektóre z nich również wyglądają jak inny sposób robienia dokładnie tego samego? Dzięki
nieco zdezorientowany, a jednak najlepszy krótki post na temat tego, jak go używać Natknąłem się dotychczas :) –