0

我正在使用 cocoalibspotify(很棒的东西)在我的项目中流式传输 Spotify 音乐。

选择播放列表后,此代码运行:

 [[SPSession sharedSession] playlistForURL:myPlaylistUrl callback:^(SPPlaylist *playlist) {
    if(playlist != nil){

        _chosenPlaylist = playlist;
    }
}];

我后来用它_chosenPlaylist来创建所有轨道的数组。这适用于我选择的第一个播放列表。但是,当我选择另一个播放列表(或再次选择相同的播放列表)时,块变量playlist为 nil,这会导致崩溃。

注意:在选择第二个播放列表之前,我关闭了视图控制器,因此它的行为方式应该与第一次相同。

关于为什么我第二次运行此代码时播放列表返回为零的任何想法?

编辑:我正在使用 ARC。_chosenPlaylist 的声明如下所示 SPPlaylist *_chosenPlaylist;

崩溃是因为这条线: [playlists addObject:_chosenPlaylist];,这是有道理的,因为在这种情况下 _chosenPlaylist 是 nil 。

4

1 回答 1

0

基本上,playlistForURL:callback:可以返回nil播放列表的唯一方法是给它一个无效的 URL。仔细检查您的输入(的值myPlaylistUrl) - 只接受来自的 URL spotify:user:xxx:playlist:yyy

于 2013-11-19T16:08:41.543 回答