0

ブロック内に次のコードがあり、enumerateのようなものでローカル変数を宣言するのがクールかどうかを知りたいですか?私は本当に__blockなどを扱いたくないので、次のコードに問題があるかどうかを確認したいと思いました。

 [self.assets enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
     NSData *imageToUpload = UIImageJPEGRepresentation([(UIImageView *)obj image], 90);
     NSString *imageName = [NSString stringWithFormat:@"Image%d",idx];
     NSString *fileName = [NSString stringWithFormat:@"Image%d.jpeg",idx];
 }];
4

1 に答える 1

4

これらの変数はそのままでは役に立ちません。それらは他の場所には保存されず、実行ループの最後に自動解放されます。

ブロックを自己完結型の関数と見なしてください。スコープ外には何も書き込まず、何も返しません。

于 2012-08-09T15:24:39.860 に答える