結果を時間順に、好ましくはクエリ自体に基づいて昇順または降順に返すMPMediaQueryを作成しようとしています。releaseDateに基づいて結果を返すようにMPMediaQueryを作成する方法
今、私のクエリは、昇順のクロノオーダー(一番上で最も古いアイテム)を返しますが、その順序を逆にすることができます。 MPMediaPlayerで使用できるように、結果がMPMediaQueryにある必要があります。
var qryPodcasts = MPMediaQuery()
var titleFilter = MPMediaPropertyPredicate()
titleFilter = MPMediaPropertyPredicate(value: "This American Life", forProperty: MPMediaItemPropertyPodcastTitle, comparisonType: .equalTo)
qryPodcasts.addFilterPredicate(titleFilter)
EDIT ::
私は近い私の目標にしかし、私はまだクラッシュする問題を抱えているステップを得ることができました。 「RELEASEDATE」に基づいて結果のクエリは、しかし、すべてのポッドキャストは、このプロパティはクラッシュを引き起こしてnilをできるように適合しないソートされます、私はこのコードを追加しました
:
let myItems = qryPodcasts.items?.sorted{($0.releaseDate)! > ($1.releaseDate)!}
let podCollection = MPMediaItemCollection(items: myItems!)
myMP.setQueue(with: podCollection!)
どのように私はこのエラーを回避することができますし、 releaseDateなしでアイテムを処理するにはどうすればよいですか?
スウィフトのこのラッピング/アンラッピング用品は私をナッツドライブに正直言ってください!私は通常、コンパイラに何をすべきかを指示させます... – wayneh