MPMediaItemCollection 删除选定的队列/集合?

发布于 2024-11-09 15:40:13 字数 600 浏览 5 评论 0原文

我目前正在查看 Apple 的 AddMusic 示例 并播放在我开始将其重写到我的应用程序中之前,先对其进行处理。

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

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

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

干杯

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

I am currently looking at Apple's AddMusic example and playing around with it before I start rewriting it into my application.

I noticed that it makes its own little playlist of the songs qued. I want to use the swipe action on the table view to remove songs that a use clicked by mistake.

I have implemented the swipe action but can't work out a way to delete that specific row?

Any idea would be great, below is the code to add it. I tried doing the reverse with no luck. If it's not possible how should I go about it?

Cheers

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洒一地阳光 2024-11-16 15:40:13

MPMediaItemCollection 是不可变的,即。您无法更改这些项目。您需要创建一个新项目,其中包含除要删除的项目之外的所有项目。请参阅下文:

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

小心不要创建空集合。这是不允许的,MPMediaItemCollection 将引发异常。

An MPMediaItemCollection is immutable, ie. you can't change the items. You need to create a new one with all items less the one you want to remove. See below:

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

Be careful to not create an empty collection. It's not allowed and the MPMediaItemCollection will raise an exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文