【发布时间】:2011-08-08 15:20:27
【问题描述】:
我正在使用MPMediaItemCollection 来保存一些用户从 iPod 音乐库中选择的音乐曲目。我希望能够唯一标识集合中的每个MPMediaItem,即使它们是重复的。这可能吗?
【问题讨论】:
-
-isEqual:不够用吗? -
没有。如果音乐播放器 nowPlayingItem 在媒体集合中有重复项,如果我使用 NSArrays indexForObject: 方法检查 nowPlayingItems 索引,则始终返回索引值最低的 mediaItem。这意味着如果正在播放的项目是数组中更靠前的副本之一,则它不会返回正确的对象。我认为 indexForObject 正在使用 isEqual: 方法扫描数组,直到它返回 true。
-
是的,但这始终是它的工作方式。这就是
-indexOfObject:的目的。如果您想查找任何重复项,则不能使用-indexOfObject:,因为它始终会为您提供第一个索引。 -
是的,这就是为什么我需要一种唯一标识数组中每个 mediaItem 的方法,以便我可以确定正在为音乐播放器 nowPlayingItem 返回正确的索引
-
这没有意义。如果该项目两次出现在列表中,则两次是同一项目。
标签: iphone ios cocoa-touch mpmusicplayercontroller mpmediaitemcollection