MPMediaItemCollection删除选定的que / collection?

时间:2011-05-24 20:11:50

标签: iphone ipod mpmediaitemcollection

我目前正在查看Apple的AddMusic example并在开始将其重新编写到我的应用程序之前使用它。

我注意到它创建了自己的小歌曲播放列表。我想在表格视图上使用滑动操作来删除用户错误点击的歌曲。

我已经实现了滑动操作,但无法找到删除该特定行的方法吗?

任何想法都会很棒,下面是添加它的代码。我试着反过来没有运气。如果不可能我该怎么办呢?

干杯

MainViewController *mainViewController = (MainViewController *) self.delegate;
MPMediaItemCollection *currentQueue = mainViewController.userMediaItemCollection;
MPMediaItem *anItem = (MPMediaItem *)[currentQueue.items objectAtIndex: row];

1 个答案:

答案 0 :(得分:4)

MPMediaItemCollection是不可变的,即。你无法改变这些物品。您需要创建一个新项目,其中所有项目少于您要删除的项目。见下文:

NSArray* items = [currentQueue items];
NSMutableArray* array = [NSMutableArray arrayWithCapacity:[items count]];
[array addObjectsFromArray:items];
[array removeObjectAtIndex:row];
MPMediaItemCollection* newCollection = [MPMediaItemCollection collectionWithItems:array];

小心不要创建空集合。它不被允许,MPMediaItemCollection将引发异常。