【发布时间】:2019-12-03 21:23:21
【问题描述】:
我有一个基于结构的数组,其中包括歌曲标题和艺术家作为字符串,其艺术作品作为类型MPMediaItemArtwork。为了让预览在Swift UI 中工作,我参考了
struct TrackRow_Previews: PreviewProvider {
static var previews: some View {
TrackRow(track: Track(name: "Track 1", artist: "Artist 1", artwork: [MPMediaItemArtwork]))
}
}
当我注释掉预览时,视图工作正常,因此我能够将选定的MPMediaItemArtwork 打印到控制台,即MPConcreteMediaItemArtwork: 0x281efb890。但它也不接受。我可以为预览图稿添加什么价值以使预览提供程序正常工作?
额外细节:
struct Track: Hashable {
var name: String
var artist: String
var artwork: MPMediaItemArtwork
}
func getTracks(chosenPlaylist: String) {
trackArray = []
for playlist in playlists! {
if (playlist.value(forProperty: MPMediaPlaylistPropertyName)as! String) == chosenPlaylist {
let songs = playlist.items
for song in songs {
if song.artwork != nil {
trackArray.append(Track(name: (song.value(forProperty: MPMediaItemPropertyTitle) as! String), artist:(song.value(forProperty: MPMediaItemPropertyArtist) as! String), artwork: song.artwork!))
}
}
sortArray()
}
}
}
【问题讨论】:
-
我们能看看
artwork和MPMediaItemArtwork长什么样子吗? -
刚刚添加了数组结构的详细信息,以及我如何填充它
标签: swiftui