Попытка сохранить MPMediaItem при запуске
Я сохранил MPMediaItem, возвращенный из MPMediaPickerController, сохранив его persistentID (который является MPMediaEntityPersistentID). Когда я передаю это в MPMediaQuery, я получаю MPMediaEntity (суперкласс MPMediaItem). Попытка привести это к MPMediaItem дает исключение.
// recover MPMediaItem
let predicateId = MPMediaPropertyPredicate(value: self.persistentID?.uint64Value,
forProperty: MPMediaItemPropertyPersistentID,
comparisonType:MPMediaPredicateComparison.equalTo)
let query = MPMediaQuery.init()
query.addFilterPredicate(predicateId)
let collection = MPMediaItemCollection(items: query.items!)
//at this point collection[0] contains a MPMediaEntry
1 ответ
Это был ошибочный тик (так), что мне любопытно, почему компилятор не ловит.
//at this point collection.items[0] contains the expected MPMediaItem
//why accessing collection[0] works at all is mysterious