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