Jak mogę uzyskać dostęp do zmiennej __block po zakończeniu bloku? [duplikować

To pytanie ma już odpowiedź tutaj:

findObjectsInBackgroundWithBlock: pobiera dane z parsowania, ale dane istnieją tylko w bloku 2 odpowiedzi

Wykonuję kilka operacji w tle na Parse.com, ale to jest ogólne pytanie o__block zmienne. Chcę zdefiniować zmienną, uruchomić operację sieciową w tle z blokiem uzupełniania, ewentualnie zmodyfikować tę zmienną w bloku, a następnie uzyskać do niej dostęp poza blokiem. Ale zawsze jest zero.

Jak mogę zachować zmienną poza blokiem? Jest to metoda klasowa, więc użycie zmiennej instancji nie jest opcją.

__block PFObject *myObject = nil;

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

NSLog(@"%@",myObject);

questionAnswers(3)

yourAnswerToTheQuestion