0

カメラで撮影した写真を保存するときに、待機中のダイアログ/インジケーターを表示しないことが正しいかどうかはわかりません。iPad 4 では保存プロセスは非常に高速ですが、他のデバイスではこのプロセスにさらに時間がかかる場合があります。

新しいスレッドを開始して画像を保存し、ダイアログ/インジケーターを表示します。価値はありますか?

割に合わないと思いますが、もっと専門家の意見が知りたいです。

私の質問を説明するためのコード例:

[indicator startAnimating];
[NSThread detachNewThreadSelector:@selector(saveImage) toTarget:self withObject:nil];

と...

- (void)saveImage {
    library = [[ALAssetsLibrary alloc] init];
    [library saveImage:myPhoto toAlbum:@"MyAlbum" withCompletionBlock:^(NSError *error) {
        if (error==nil) {
           [indicator stopAnimating];
        }
    }
}

このカテゴリを使用して、画像をカスタム アルバムに保存しています: https://github.com/Kjuly/ALAssetsLibrary-CustomPhotoAlbum

4

1 に答える 1

1

一般的な iOS パラダイムは、ユーザーが進行中の「保存」操作を認識してはならないというものです。したがって、バックグラウンド スレッドでそのようなことを行うことが好まれます。

したがって、それを考慮して、現在のアプローチは完全に受け入れられ、iOS UI ガイドラインの範囲内にあるようです。

于 2013-03-20T11:42:33.663 に答える