Wie verwalte ich einen mit asynchronen Blöcken gefüllten Workflow richtig?IOS

Programmierung für iOS
Guest
 Wie verwalte ich einen mit asynchronen Blöcken gefüllten Workflow richtig?

Post by Guest »

Ich arbeite mit der Evernote-API und bin mir nicht sicher, wie ich die Arbeit mit Blöcken richtig verwalten soll, ohne dass mein Code unglaublich chaotisch wird und überall verstreut wird.

Die API enthält Methoden für diesen Stil:

Code: Select all

[object doSomethingWithSuccess:^(NSObject *anotherObject) {
NSLog(@"success!");
} failure:(NSError *error) {
NSLog(@"failure!");
}
Danach muss ich basierend auf dem Erfolg eine weitere ähnliche Methode ausführen und dann darauf basierend eine weitere ähnliche Methode.
Ich habe auch ein Problem, bei dem ich eigentlich nur eine Methode ausführen möchte, die etwas tut und dann zurückkehrt, egal wie lange es dauert, aber ich kann nicht aus dem Block zurückkehren.

Wie gehen die Leute damit um?

An Beispiel:

In manchen Szenarien möchte ich ein Notizbuch erstellen und dann etwas anderes tun. Das „Etwas anderes“ ist jedes Mal anders. Ich würde niemals den Code zum Herstellen einer Verbindung einfügen. Mit Standardcode würde ich eine Methode ausführen:

Code: Select all

[self connect];

//Do the 'something else'
Aber in dieser Situation kann ich mir nicht einmal vorstellen, wie ich das machen könnte, außer den Code in [self connect] zu kopieren und überall dort einzufügen, wo ich bin Sie möchten eine Verbindung herstellen und dann den nächsten Codeabschnitt im Vervollständigungshandler ausführen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post