4

iPhone SDK でアプリ内オーディオを使用する場合、ユーザーが iPod ライブラリからリストを選択して、アプリ内ローカル プレイリストを作成できるようにすることができます。この選択を維持したい場合は、データをシリアル化してファイルに書き込んでから回復するのは簡単です。

しかし、このようなバニラだけでは、何か問題があると思います. たとえば、ユーザーがサウンドを同期して削除するとどうなるでしょうか。それらすべてをループして、セットアップ時に iPod DB に問い合わせることはできますが、リストが 50,000 に及ぶ可能性があるため、これには時間がかかる可能性があります。

他の人はこれをどのように行っていますか? また、私が考えていない落とし穴は何ですか?

4

2 に答える 2

3

怠惰にやってしまうだけで、

ユーザーが曲を再生したい場合は、特にその曲について iPod DB にクエリを実行できます。また、ユーザーがアルバムを削除した場合は、「アルバム」全体をクエリすることもできます。これには、各曲を再生する前にデータベースへの 2 つのリクエストが必要ですが、十分に高速である場合はベンチマークできます。

syncを使用してアプリケーションのどこかにオプションを配置することもできますがiPod DB、ユーザーの選択肢として与えられ、しばらく時間がかかる可能性があるという「警告」をユーザーに与えたり、おそらく彼のサイズの推定時間を与えることさえできます。特定のライブラリ。

ユーザビリティ/バッテリー節約の観点から、これは、アプリケーションが起動するたびに、またはバックグラウンドでデータベース全体にクエリを実行するよりも優れていると思います.

于 2010-04-24T15:34:47.093 に答える
2

最初に、個々の MPMediaItem の保存に関する応答を投稿しました。のドキュメントを少し考えて読み直した後、使用するアプローチは のプロパティMPMediaPickerControllerDelegateを保存し、それを使用して実行時に を構築することだと思います。representiveItemMPMediaItemCollectionMPMediaQuery

于 2010-04-28T17:50:39.730 に答える