gef*_*rce 6 instance-variables uiimage avassetwriter
我正在使用AVAssetImageGenerator从动画片段中获取图像而不播放它.现在我有一个问题如何在处理程序的循环中设置变量?可能吗?我收到此错误消息,不知道这是什么意思.(谷歌>没有结果).
"变量不可分配(缺少__block类型说明符)"
所以我必须在这里问专业人士.这是代码.我想保存或返回我生成的imageData,所以我可以删除该后续处理程序中的"setImage"消息.
UIImage* thumbImg = [[UIImage alloc] init];
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)
{
if (result != AVAssetImageGeneratorSucceeded)
{
NSLog(@"couldn't generate thumbnail, error:%@", error);
}
[button setImage:[UIImage imageWithCGImage:im] forState:UIControlStateNormal];
thumbImg = [[UIImage imageWithCGImage:im] retain];
[generator release];
};
Run Code Online (Sandbox Code Playgroud)
了解这一点会很棒.谢谢你的时间.
Vla*_*mir 21
首先,似乎你不需要初始化你的thumbImg,当它在该行中创建的声明的UIImage对象将被覆盖并将泄漏.只需使用nil值初始化它.
您的代码中的实际问题是您要在块中更改的变量应使用__block说明符声明(如错误消息所示).所以你的1s线应该是
__block UIImage* thumbImg = nil;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3477 次 |
| 最近记录: |