簡體   English   中英

如何使用for循環將字符串分配給NSDictionary?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM