Necesito encapsular la respuesta de llamadas de AFNetworking dentro de mi propio método mientras estoy escribiendo una biblioteca. Este código de mí se acerca:Envolviendo bloques de falla de éxito desde AFNetworking dentro de un método
MyDevice *devices = [[MyDevice alloc] init];
[devices getDevices:@"devices.json?user_id=10" success:^(AFHTTPRequestOperation *operation, id responseObject) {
... can process json object here ...
}
- (void)getDevices:(NSString *)netPath success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error)) failure {
[[MyApiClient sharedDeviceServiceInstance] getPath:[NSString stringWithFormat:@"%@", netPath]
parameters:nil success:success failure:failure];
}
Sin embargo, necesito para procesar los datos de objeto JSON devueltos de getPath antes de regresar a getDevices(). He intentado esto:
- (void)getDevices:(NSString *)netPath success:(void (^)(id myResults))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error)) failure {
[[MyApiClient sharedDeviceServiceInstance] getPath:[NSString stringWithFormat:@"%@", netPath]
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
... can process json object here ...
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
... process errors here ...
}];
}
Pero ahora no hay ninguna llamada de vuelta a getDevices(). Entonces, ¿cómo debo procesar el objeto json en getDevices & tener el retorno de bloque al finalizar? Apreciar la ayuda, ya que soy nuevo en los bloques.
Gracias phix23! Al agregar "success (myResults);" al bloque de éxito getPath() hace que todo funcione como se espera. Muchas gracias por la respuesta súper rápida. - Dan – Dan
Apreciar los comentarios de claridad, también. Se ha centrado en la funcionalidad, pero incorporará estas sugerencias en la versión final. – Dan
Quiero esta función getDevices rápidamente. ¿Se puede convertir rápidamente? –