Spotify iOS SDK返回的SPTListPage.items返回nil

时间:2015-04-04 23:26:39

标签: ios swift spotify

您好,我试图从用户加星标的歌曲中提取艺术家。我知道starredListForUserInSession返回PlaylistSnapshot。它有一个firstTrackPage属性,它是一个SPTListPage。

在我打印出SPTListPage的测试中,它说该列表有8个项目。当我尝试使用ListPage.items获取ListPage中的项时,它返回nil。我不确定是什么错。我打电话给错了吗?

func retrieveStarred() -> Void {
    SPTRequest.starredListForUserInSession(self.session, callback: { (error:NSError!, starred: AnyObject!) -> Void in
        if error != nil {
            println("error retrieving starred playlist")
        } else {
            self.starred = starred as SPTPlaylistSnapshot
            self.scrapePlaylist(self.starred)
        }
    })
}
func scrapePlaylist(playlist: SPTPlaylistSnapshot) -> Void {
    println(playlist);
    var firstTracks = playlist.firstTrackPage
    println(firstTracks)
    println(firstTracks.hasNextPage)
    var songs = firstTracks as SPTListPage
    println(songs.items)
    for song in songs.items {
        var track = song as SPTPartialTrack
        for artist in track.artists {
            updateSongsCount(artist as SPTPartialArtist)
        }
    }
}

2 个答案:

答案 0 :(得分:1)

我认为这个页面(github.com/spotify/ios-sdk/issues/377)是由提出这个问题的同一个人设置的,他最终在该页面的评论中找到了它。我以为我会把它粘贴到其他有同样问题的人身上。该页面的评论也适用于我:

"好的 - 修好了

要完成构建环境的设置,请从“信息”选项卡切换到“构建设置”选项卡,然后找到“其他链接器标志”构建设置(您可以使用设置列表顶部的搜索字段进行搜索)。如果您没有看到它,则可能需要单击“全部”以显示所有构建设置。

将值-ObjC添加到此设置。" -github.com/spotify/ios-sdk/issues/377

答案 1 :(得分:0)

尝试添加链接器标志" -all_load"到项目文件中的其他链接器标志。