6
我使用AVAssetImageGenerator從動畫片段中獲取圖片而不用播放它。現在我有一個問題如何在處理程序的循環中設置變量? 這可能嗎? 我收到這個錯誤信息,不知道這是什麼意思。 (谷歌>沒有結果)。AVAssetImageGeneratorCompletionHandler - 如何設置或返回變量?
「變量不分配(缺少 __block類型說明符)」
所以我要在這裏問pro's。 這是代碼。我想保存或返回我生成的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];
};
對於瞭解這一點很有幫助。 謝謝你的時間。
很酷,謝謝你!祝你今天愉快。 – geforce 2011-04-29 07:44:35
不客氣:) – Vladimir 2011-04-29 07:45:15
感謝您的偉大答案!我可否知道__block在這種情況下會產生什麼影響?我記得它與保留的記憶有關。 – Zhen 2011-06-21 01:46:27