我需要使用使用MPMediaItem存储的持久ID检索相应的NSUserDefaults。我现在这样做的方法是获取所有的MPMediaItems,循环它们,并找到具有与我存储的相同的持久ID的那个。我认为这是一个非常糟糕的性能,那么是否有一种现有的方法来获得具有我所拥有的持久ID的MPMediaItem?我检查了苹果的文档,但找不到。
发布于 2015-10-17 06:54:27
通过查找具有唯一ID查询的条目MPMediaItem,可以获得比线性性能更好的结果:
MPMediaQuery* query = [MPMediaQuery songsQuery]; // general songs query
MPMediaPropertyPredicate* pred = [MPMediaPropertyPredicate predicateWithValue:persistentID
forProperty:MPMediaItemPropertyPersistentID];
// narrow the query down to just items with that ID
[query addFilterPredicate:pred];
// now get items (there should be only one):
MPMediaItem *item = [query.items firstObject];https://stackoverflow.com/questions/33182083
复制相似问题