2016-08-07 37 views
2

ich implementiert habe die JSON-Parsing mit AFNetworking viele Zeit in einigen früheren Anwendungen wie ausführen:Wie AFHTTPRequestOperation in AFNetworking 2

NSString *string = [NSString stringWithFormat:@"%@?get_all_data", BaseURLString]; 
     NSURL *url = [NSURL URLWithString:string]; 
     NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
    operation.responseSerializer = [AFJSONResponseSerializer serializer]; 

    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) 
    { 
//performing parsing here 

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
//error message displayed here 
} 

Aber ab heute begann ich nach einer Weile auf einer App arbeiten ich wieder zu mir kam verwenden AFNetworking wieder und ich installiert sich mit der pods so wie ich diesen gleichen Code schreiben, wie ich schreiben verwenden, bevor es mir die Fehlermeldung gibt zu sagen Unknown Receiver AFHTTPRequestOperation. Do you mean AFHTTPRequestSerializer?
nach der Suche davon erfuhr ich, dass es AFNetworking 2 oder 3 Ära jetzt und sie haben sich verändert irgendwie die Szenerio. Ich habe die genaue Lösung für die Implementierung nicht gefunden. So kann jemand den Code in der Antwort unten schreiben, die mit der neuesten Version von AFNetworking funktioniert.

+0

ab Version 3.x afnetwroking verwendet eine eigene Warteschlange, um Operationen zu verwalten, so dass Sie nicht "AFHTTPRequestOperation" verwenden müssen, können Sie ws als @ MedAmine.Rihane Post aufrufen –

Antwort

1

Dies ist der neue Ansatz von AFNetworking 3.x Daten zu analysieren:

NSString *path = @"yourapilink"; 
NSString *escapedPath = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; 

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 

[manager GET:escapedPath parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(NSURLSessionTask *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

Hoffe, es hilft!