您好,我试图从用户加星标的歌曲中提取艺术家。我知道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)
}
}
}
答案 0 :(得分:1)
我认为这个页面(github.com/spotify/ios-sdk/issues/377)是由提出这个问题的同一个人设置的,他最终在该页面的评论中找到了它。我以为我会把它粘贴到其他有同样问题的人身上。该页面的评论也适用于我:
"好的 - 修好了
要完成构建环境的设置,请从“信息”选项卡切换到“构建设置”选项卡,然后找到“其他链接器标志”构建设置(您可以使用设置列表顶部的搜索字段进行搜索)。如果您没有看到它,则可能需要单击“全部”以显示所有构建设置。
将值-ObjC添加到此设置。" -github.com/spotify/ios-sdk/issues/377
答案 1 :(得分:0)
尝试添加链接器标志" -all_load"到项目文件中的其他链接器标志。