2011-11-10 13 views
0

"コアデータに大きなファイルを格納すべきではないので、ファイルシステムに保存する方がよい"と知っています。 しかし... サウンドファイルが5〜20 kbの間にあり、私の必要に応じて、コアデータに含まれていれば素晴らしいことになるので、これを試したいと思っています。特別な注意を払うために、私はそれらを別のエンティティに保存します。コアデータ内に600個のサウンドファイルをそれぞれ5〜20kb保存します

今すぐ!

  1. バイナリデータを使用する必要がありますか、または変換可能オブジェクトを使用できますか?私ができるなら、私は幸せになる方法を知っていますか?
  2. まだ、このような小さなファイルでも、なぜあなたはそれをしませんか?

答えて

1

トランスを使用するかどうかは、サウンドデータをどのオブジェクトに変換するかによって異なります。

AppleにUIImage transformerのサンプルコードがあります。

オブジェクトがフェッチされるたびにトランスフォーマが呼び出されるため、オーバーヘッドを最小限に抑える必要があります。おそらく、UITableViewControllerがセルを描画するオブジェクトをフェッチするたびに、AVAudioPlayerを各オブジェクトにインスタンス化する必要はありません。

1

コアデータ・プログラミング・ガイド:Large Data Objects (BLOBs)

、「小さい」「控えめ」、および「大」の正確な定義は流動的であると は、アプリケーションの使用状況によって異なります。大まかに言うと、キロバイトオーダーの オブジェクトは「適度な」サイズであり、サイズがメガバイトオーダーのものは「大」サイズのものです。

サウンドファイルは、同じテーブルに保存するのに十分なほど小さいです。別のエンティティは100Kから1MBの間でのみ使用してください。変換可能なサウンドとしてサウンドを保存する利点は何ですか?バイナリデータを使用するだけのことを考えることができない場合。

関連する問題