Wie kann ich auf eine __block-Variable zugreifen, nachdem der Block abgeschlossen wurde? [Duplikat

Diese Frage hat hier bereits eine Antwort:

findObjectsInBackgroundWithBlock: ruft Daten von Parse ab, aber Daten existieren nur innerhalb des Blocks 2 Antworten

Ich mache einige Hintergrundoperationen mit Parse.com, aber dies ist eine allgemeine Frage zu__block Variablen. Ich möchte eine Variable definieren, eine Netzwerkoperation im Hintergrund mit einem Abschlussblock ausführen, diese Variable möglicherweise innerhalb des Blocks ändern und dann außerhalb des Blocks darauf zugreifen. Aber es ist immer Null.

Wie kann ich die Variable außerhalb des Blocks behalten? Dies befindet sich in einer Klassenmethode. Die Verwendung einer Instanzvariablen ist daher keine Option.

__block PFObject *myObject = nil;

PFQuery *query = [PFQuery queryWithClassName:@"ClassName"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
   if (objects.count) {
       myObject = [objects lastObject];
   }
}];

NSLog(@"%@",myObject);

Antworten auf die Frage(3)

Ihre Antwort auf die Frage