iOS-block mit return-Wert

Ich bin mit einem block von Facebook SDK. Es gibt ein Wörterbuch. Ich will das dictionary als Rückgabewert einer Methode. Ich bin versucht, wickeln Sie meinen Kopf herum, die ganze block-Konzept, brauchen aber einen Schubs in die richtige Richtung.

Den block:
(das argument für den block ist ein string userFBid)

-(NSDictionary*) getMutualFBFriendsWithFBid:(NSString*)fbID {

[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/mutualfriends/%@", [[PFUser currentUser] objectForKey:kFbID],userFBid]
                    parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          result = (NSDictionary*)result;

//return result;                              
       }];

}

Wie komme ich an den Rückgabewert?

Habe ich versucht zu google, aber ich kann nicht meine hand um ihn herum.

Ich würde schätzen, dass alle Zeiger in die richtige Richtung.

EDIT:
Die wichtigste Frage ist folgende: ich muss die Abschluss-handler-Aufruf einer Methode in eine andere Klasse... wie geht das?

Anfragen async, so sollten Sie Prozess "Ergebnis" - Wörterbuch, blockieren oder erstellen Sie eine zusätzliche Methode, und rufen Sie es mit der resultierenden dictionary als argument.
Ich bin mit dem gleichen "Ergebnis" in verschiedenen Klassen, so würde ich eher in der Lage sein es zu nennen und das Ergebnis in den verschiedenen Klassen. Tryin, um herauszufinden, wie.
Sie speichern könnte die result in Ihre eigene öffentliche Instanzvariablen zugreifen, die innerhalb Ihrer andere Klassen. Ist es das, was Sie wollen?
yup sowas ja. Siehe edit oben. Ich habe zu dieser Methode in eine Singleton-Klasse, und verwenden Sie das Ergebnis in einer anderen Klasse. So sind Sie in etwas, nur versuchen, herauszufinden, wie Sie tatsächlich tun. Ich kann mir nicht vorstellen, ich einfach weisen Sie eine öffentliche Eigenschaft, um die Singleton-Klasse und Holen, Wann immer ich es brauche, dann wird der block aufgerufen wird?
Ich verstehe es nicht: warum wollen Sie anrufen möchten completionHandler's block anderswo?

InformationsquelleAutor B-Man | 2014-04-05

Schreibe einen Kommentar