Ich muss die Antwort von AFNetworking-Aufrufe innerhalb meiner eigenen Methode kapseln, wie ich eine Bibliothek schreibe. Dieser Code wird mir nahe:Wrapping Erfolg Fehler Blöcke von AFNetworking innerhalb einer Methode
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];
}
Ich brauche aber die json Objektdaten aus getPath zurück verarbeiten, bevor zu getDevices Rückkehr(). Ich habe dies versucht:
- (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 ...
}];
}
Aber jetzt gibt es keinen Rückruf getDevices(). Also, wie verarbeite ich das Json-Objekt in getDevices & haben die Blockrückgabe bei Abschluss? Schätzen Sie die Hilfe, wie ich neu in Blöcken bin.
Danke phix23! Durch Hinzufügen von "Erfolg (myResults);" Der Erfolgsbaustein getPath() bewirkt, dass alles wie erwartet funktioniert. Vielen Dank für die super schnelle Antwort. - Dan – Dan
Schätze auch die Klarheit Kommentare. Sie haben sich auf die Funktionalität konzentriert, werden diese Vorschläge jedoch in die endgültige Version integrieren. – Dan
Ich möchte diese getDevices-Funktion in swift.Can Sie konvertieren, um schnell –