我正在使用 Parse.com 进行一些后台操作,但这是关于__block
变量的一般问题。我想定义一个变量,使用完成块运行后台网络操作,可能在块内修改该变量,然后在块外访问它。但它始终为零。
如何将变量保留在块之外?这是在类方法中,因此不能选择使用实例变量。
__block PFObject *myObject = nil;
PFQuery *query = [PFQuery queryWithClassName:@"ClassName"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (objects.count) {
myObject = [objects lastObject];
}
}];
NSLog(@"%@",myObject);