2011-01-16 15 views
1

私は、単語ごとに3/4の画像を持つ数百の単語を持つアプリを持っています。 私は、各単語の2つのバージョンをiOS 3用と網膜表示用に用意しています。 イメージをデータとして保存し、適切な単語に接続して、後で簡単に取り出せます。コアデータと網膜ディスプレイに画像を保存しますか?

私の質問は - 私は適切なサイズをどのように取得するのですか? @ 2x wjenでうまくいくのですが、アプリケーションファイルシステムから取得できますが、hoeはデータから取得するとうまくいくと思いますか? CoreDataで画像を保存する

おかげ シャニー

答えて

4

ではなく、無分別なアイデアです。 CoreDataデータベースのサイズが大幅に拡大し、イメージを含むフォールトインオブジェクトがあるとメモリの問題が発生します。代わりに、イメージをファイルシステムに書き出し、CoreDataにイメージパスを保存する必要があります。

+0

ありがとうございました。しかし、ファイルシステムやデータベースにイメージを置くこととの違いは何ですか?それは同じではありませんか? BTW各画像は約8kbsです。 – shannoga

+1

イメージがファイルシステム内にある場合は、UIImage参照を削除するだけでイメージを簡単にアンロードできます。これは、使用中にロードされたままにする必要があることを意味します。イメージがCoreDataにある場合は、管理対象オブジェクト全体をフォールトアウトしてイメージデータを削除する必要があります。さらに、管理対象オブジェクトのフォールトは、イメージを表示しようとしていなくても、イメージデータをメモリにロードすることになります。 –

+0

しかし、イメージをファイルシステムに保存し、ユーザーが作成したイメージ(写真など)の場合、すべてがコアデータ内に保存されている場合、データをバックアップするのは簡単ではありませんか?私はCore Dataに保存された画像を使ってこの2倍の問題についても考えています。画像を保存するのが最も望ましい方法ではない場合でも、時には必要であり、網膜ディスプレイを利用できるようにしたいと考えています。コアデータの画像は常に網膜ではないように見え、網膜の表示に合わせて常にスケーリングされているようです。 – SAHM

4

コアデータを使用してイメージを保存することは、まれではありません。 サンプルiPhoneCoreDataRecipesを見て、Appleがどのようにイメージをコアデータに変換可能タイプとして保存しているかを確認してください。

+0

私はその例を見ました。しかし、どのように網膜の問題に役立つのですか?ありがとう、シャニ – shannoga

+0

あなたは別のフィールドに網膜のものを保存して、それを使用します –

+0

こんにちは、iOSが使用するファイルを「知っている」ことを意味しますか?自体? – shannoga

関連する問題