[英]How to assign string to NSDictionary using for loop?
因此,我在應用程序上使用mpmediapicker檢索了歌曲信息。 我想將歌曲信息分配給字典,這樣很容易將其填充到tableview中。 但是在for循環上為字典分配值時發現了麻煩。
這是我的代碼:
for thisItem in mediaItemCollection!.items as! [MPMediaItem]{
let itemUrl = thisItem.valueForProperty(MPMediaItemPropertyAssetURL)
as? NSURL
let itemTitle =
thisItem.valueForProperty(MPMediaItemPropertyTitle)
as? String
let itemArtist =
thisItem.valueForProperty(MPMediaItemPropertyArtist)
as? String
let itemArtwork =
thisItem.valueForProperty(MPMediaItemPropertyArtwork)
as? MPMediaItemArtwork
playlist = ["title" : itemTitle! , "artist" : itemArtist!, "song_url" : itemUrl!]
}
下面是我得到的:
Optional({
artist = "ASKING ALEXANDRIA";
"song_url" = "ipod-library://item/item.mp3?id=5357233978197423496";
title = Alerion;
})
只檢索最后一首歌。 我該如何解決這個問題?
我想要的格式如下:
Optional({artist = "ASKING ALEXANDRIA";"song_url" = "ipod-library://item/item.mp3?id=5357233978197423496";title = Alerion;}, {artist = "ASKING ALEXANDRIA";"song_url" = "ipod-library://item/item.mp3?id=5357239348197423496"; title = The Prophecy;}, {artist = "ASKING ALEXANDRIA";"song_url" = "ipod-library://item/item.mp3?id=53572339781974234123";title = Breathless;})
我怎樣才能做到這一點?
如果我沒看錯,播放清單是NSDictionary
您必須創建一個NSMutableArray
var playlistArray : NSMutableArray = []
現在,將playlist
添加到for循環內的數組中。
playlistArray.addObject(playlist)
完成循環后打印
println("\(playlistArray)")
您沒有將新數據追加到數組,只是使數組等於值
嘗試這個:
playlist += ["title" : itemTitle! , "artist" : itemArtist!, "song_url" : itemUrl!]
要么
playlist.append(["title" : itemTitle! , "artist" : itemArtist!, "song_url" : itemUrl!])
假設您的播放列表是一系列字典,可以按照以下方式創建:
var playlist : [Dictionary<String, Int>] = []
要么
var playlist = [Dictionary<String, Int>]()
要么
var playlist : [[String:Int]] = []
要么
var playlist = [[String:Int]]()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.