で表示される画像やビデオを含むテキストデータを表示するアプリがありますUITableView
。データをオフラインで利用できるようにする必要があります。接続があるたびにデータを消去して保存することを考えています。つまり、新しいデータがダウンロードされています。これをどのように達成できますか-データをmysqlテーブルまたはその他のソリューションに保存します。uiimageview で画像をストリーミングするために AFNetworking を使用していることに注意してください。画像とビデオは blob として保存する必要がありますが、これはローカルの mysql データベースですか? 私のプロジェクトはコアデータを使用していないことに注意してください。
1 に答える
0
おそらく最善の方法は、メディア ファイルをダウンロードしてcaches
ディレクトリに保存することです。
次に、ファイルにアクセスする必要がある場合は、ファイルが存在するかどうかを確認し、存在する場合はそれを使用し、存在しない場合は必要な方法でその状態を処理できます。
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
if(![fileManager fileExistsAtPath:[cachePath stringByAppendingPathComponent:@"myfile.zip"]]) {
//create it, copy it from app bundle, download it etc.
}
//start using it
キャッシュ ディレクトリはアプリの残りの部分と一緒にバックアップされないため、大きなファイルがある場合でも、この方法でユーザーのバックアップ ストレージ サイズに影響を与えることはありません。
絶対にバックアップにファイルが必要Documents
な場合は、ディレクトリの代わりにディレクトリを使用してcaches
ください。
ダウンロードをAFNetworking
ファイルに正常にストリーミングでき、アプリを閉じた後にタスクを終了できるように、タスクをバックグラウンド操作に変換することさえサポートしている を使用しているとのことでした。
于 2013-08-19T15:18:25.480 に答える