Ich habe eine Blockhohlraumfunktion erstellt, die AFNetworking-Bibliothek verwendet. Diese Funktion wird für GET
Anfrage verwendet und verwendet so.iOS Warteblock bis Ende
[Mics getRequestBLOCK:clientsUrlStr BlockRequest:^(NSString *response) {
//use response here
}];
Alles funktioniert gut, aber ich wirklich Kopfschmerzen bekommen, wenn ich diesen Block in einer Funktion, die einen Wert, zum Beispiel zurückkommen müssen.
+ (NSArray*)OnlineClients
{
NSString *clientsUrlStr = [NSString stringWithFormat:@"%@/sinch/clients", ROOT_URL];
__block NSArray *clients = [[NSArray alloc] init];
[Mics getRequestBLOCK:clientsUrlStr BlockRequest:^(NSString *response) {
clients = [response componentsSeparatedByString: @","];
}];
return clients;
}
OnlineClients
Array-Funktion zurückkehrt immer 0 item weil Anforderungsblock nicht mit Abschluss beendet ist.
Also, wie kann ich für Block Abschluss warten Reaktionsanforderung für die Rückkehr in eine Funktion zu bekommen?
Ich habe keine Lösung gefunden verschiedene Themen in Stackoverflow und Google gesucht, aber kann.
Bitte helfen.
Dann haben Sie nicht sehr gut gesucht. Dies ist wahrscheinlich die am häufigsten gestellte und beantwortete Frage in allen iOS-Programmierung auf Stack Overflow. – matt
Mögliche Duplikat [iOS: Warten auf API Completion-Block und der Rückkehr das Ergebnis] (http://stackoverflow.com/questions/23507331/ios-waiting-for-api-completion-block-and-returning-the-result) – HAS
http://stackoverflow.com/a/23507361/1489885 – HAS