1

我目前正在查看 Apple 的AddMusic 示例,并在开始将其重写到我的应用程序中之前尝试使用它。

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

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

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

干杯

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

1 回答 1

4

MPMediaItemCollection 是不可变的,即。你不能改变项目。您需要创建一个新项目,其中所有项目都减去要删除的项目。见下文:

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

注意不要创建空集合。这是不允许的,并且 MPMediaItemCollection 将引发异常。

于 2011-11-18T10:59:13.827 回答