2011-07-01 9 views
0

私はいくつかのロゴを表示する必要があるアプリケーションを開発しています。これらのロゴはちょうど8kbのPNGファイルであり、私はちょうどそれらの少量(10から20まで)を処理するつもりです。ただし、これらは変更される可能性があるため、インターネットからダウンロードされます。それで、私が達成しようとしているのは、アプリケーションをダウンロードして(完了)、ファイルシステムに保存し、変更するたびにダウンロードすることです(何ヶ月もかかるかもしれません)。いくつかのファイルを保存する方法

私のファイルは常に同じ名前を持ち、それらの間には関係がないため、誰もが、より大きいより複雑なもののために設計されたものであると私の意見では思います。

ファイルシステムは移動方法ですか?良いチュートリアルですか?

答えて

1

はい、おそらくファイルシステムがこれに最適です。既にダウンロードを実装していると言います。あなたはどうしたのですか? NSURLConnection?その場合は、ある時点でNSDataオブジェクトがあります。これは、データをファイルシステム上のファイルに保存するのに使用できるメソッドをいくつか持っています。アプリはサンドボックス化されており、好きな場所には書き込めないので、ファイルin the right placeを保存してください。

+0

実際これは正確に私がやったことです、とにかく感謝:) – bluehallu

0

コアデータの利点は効率です。 NSFetchedResultsControllerを使用してロゴをテーブルビューに表示すると、最適化されたオブジェクトのロードとメモリ管理が可能になります。 1つの画面に表示できる項目だけが自動的にロードされ、ユーザーがテーブルをたどると、画面外に移動する項目の解放を処理します。それを自分で実装するのは単純な作業ではありません。

Core Dataを使用せずにデータを構築して表示する場合は、NSKeyValueCoderを使用すると便利です。入れ子配列、辞書、画像などのオブジェクトの配列または辞書を簡単に書き込むことができます。

+1

これはかなり過労ですね。彼はせいぜい10-20KBのPNGを話していますが、ほとんど変わらず、テーブルビューはどこにも言及していません。ファイルとして保存する方が効率的で便利なことはほぼ確実です。 – Jim

+1

@Jim情報の1画面を超える瞬間に、目に見えない画像を自動的に解放する任意の解決策が、より効率的にメモリになるでしょう。彼は8KBのPNGだと言っていたが、解決策が何であるかは言わなかった。圧縮率が1024×768のPNGの場合は、1024×768×4ビットのメモリが必要になります。 – RyanR

+0

実際、私は実際にはテーブルビュー上の画像を使用していますが、テーブルビューはそれらの10-20個をホストし、48 * 48個のPNGです。必要なコアデータはありません。 – bluehallu

関連する問題