NSURLSession mit NSBlockOperation und Warteschlangen
Ich habe eine App, die derzeit verwendetNSURLConnection
für die überwiegende Mehrheit seiner Vernetzung. Ich würde gerne umziehenNSURLSession
weil Apple mir sagt, dass dies der richtige Weg ist.
Meine App verwendet nur die synchrone Version vonNSURLConnection
über die+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
Klassenmethode. Ich mache das in einemNSBlockOperation
Laufen auf einemNSOperationQueue
Ich blockiere also nicht unnötigerweise die Hauptwarteschlange. Der große Vorteil dieser Vorgehensweise besteht darin, dass ich die Vorgänge voneinander abhängig machen kann. Beispielsweise kann die Aufgabe, für die Daten angefordert werden, von der Beendigung der Anmeldetask abhängen.
Ich habe keine Unterstützung für Synchronoperationen innerhalb von gesehenNSURLSession
. Alles, was ich finden kann, sind Artikel, die mich verspotten, wenn ich überhaupt daran denke, sie synchron zu verwenden, und dass ich eine schreckliche Person bin, um die Threads zu blockieren. Fein. Aber ich sehe keinen Weg zu machenNSURLSessionTask
s voneinander abhängig. Gibt es eine Möglichkeit, das zu tun?
Oder gibt es eine Beschreibung, wie ich so etwas anders machen würde?