ios - objective - pod install xcode
AFNetworking 2.0-use responseObject como NSDictionary (2)
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Esta es la forma recomendada de enviar una solicitud GET
en AFNetworking 2.0. Quiero obtener el valor de una clave específica en el json, así que quiero usar responseObject
como NSDictionary
. esto es lo que estaba tratando
NSError *jsonError = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:(NSData *)responseObject options:kNilOptions error:&jsonError];
no funciono
*** Terminating app due to uncaught exception ''NSInvalidArgumentException'', reason: ''-[__NSCFDictionary bytes]: unrecognized selector sent to instance 0xa048120''
¿Cómo puedo obtener el valor de una clave específica en responseObject
?
¡El objeto de respuesta ya es un diccionario! AFNetworking se encargó de eso por ti.
De forma predeterminada, AFHTTPRequestOperationManager
establece responseSerializer
en una instancia de AFJSONResponseSerializer
, por lo que responseObject
ya es su JSON analizado (en su caso, será un NSDictionary
según lo que haya dicho).
Entonces, solo úsalo como usarías un diccionario:
NSString *value = responseObject[@"someKey"];