質問

AvasseTimageGeneratorを使用して、以前に再生せずにMovieclipから画像を取得しています。今、私はハンドラーのループに変数をセットアップする方法に質問がありますか?出来ますか?私はこのエラーメッセージを受け取っていますが、それが何を意味するのか分かりません。 (Google>結果はありません)。

「変数は割り当てられません(__blockタイプ仕様がありません)」

だから私はここでプロを尋ねなければなりません。これがコードです。生成されたImagedataを保存または返却したいので、次のハンドラー内で「セットイメージ」メッセージを削除できます。

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];
};

それについて学ぶのは素晴らしいことです。御時間ありがとうございます。

役に立ちましたか?

解決

まったく1番目は、その宣言されたときに[Thumbimgを開始する必要もないようです - そのラインで作成されたuiimageオブジェクトはブロックで上書きされ、漏れます。 nil価値でそれを開始するだけです。

コードの実際の問題は、ブロックで変更する変数を__Block仕様で宣言する必要があることです(エラーメッセージが表示されるように)。したがって、あなたの1Sラインはそうあるべきです

__block UIImage* thumbImg = nil;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top