最近再生されたN曲のリストをiOSデバイスから順番に取得する必要があります。
現時点で私が想像できる唯一の方法は、すべての曲を取得し、MPMediaQuery
手動で並べ替えることlastPlayedDate
です。
これは潜在的に費用のかかる操作であり、より良いアプローチがあるかどうか疑問に思いました。
編集:いくつかのテストの後、これは非常に費用のかかる操作です。2500曲のテストライブラリでは、次の作業に約20秒かかりました。
- すべての曲を入手してください。
- 再生したことがないすべての曲に日付を割り当てます(1970年1月1日)。
- 日付順に注文してください。
- 最初のNエントリをフェッチします。
改善の提案をいただければ幸いです。
編集2:今解決しましたが、記録のために、これが私が行っていたことです。
ここで説明されているように、ブロックを使用して並べ替えていました:https ://stackoverflow.com/a/805589/112702 。並べ替え方法をブライアンの答えに変更するだけで、iPodTouch3の速度が約20倍向上しました。