如何从 NSMutableArray 创建 MPMediaCollection?

How to create MPMediaCollection from NSMutableArray?

所以我制作了一个允许用户创建自己的播放列表的应用程序,并且我使用的是 iOS 的 MediaPlayer 框架。在将我的 X 代码更新到最新版本之前我没有遇到任何问题,但是当我更新我的 X 代码时我收到以下错误警告:

..../playlistV2VC.swift:325:37: Cannot invoke initializer for type 'MPMediaItemCollection' with an argument list of type '(items: MPMediaItem?)'

这是我的代码:

currentCollectionArray.addObject(User.currentSongAdded!)
var newCollection = MPMediaItemCollection(items: [currentCollectionArray] as? MPMediaItem)

User.currentSongAdded!是一个新的 MPMediaItem。

给我任何建议,无论是 obj-c 还是 swift

如果 currentCollectionArray 是一个 Swift MPMediaItem 数组,那么只需说 MPMediaItemCollection(items: currentCollectionArray)

如果不是,那应该是。您无需在此处使用 NSMutableArray。

如果它是一个 NSMutableArray 那么你将不得不进行双重转换:MPMediaItemCollection(items: currentCollectionArray as NSArray as! [MPMediaItem]).

但说真的,除非万不得已,否则不要使用 NSMutableArray。不值得这样痛苦。