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);