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 回答