我正在使用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在这种情况下为零。
答案 0 :(得分:0)
基本上,playlistForURL:callback:
可以返回nil
播放列表的唯一方法是,如果您为其提供了无效的网址。仔细检查您的输入(myPlaylistUrl
的值) - 只接受来自spotify:user:xxx:playlist:yyy
的网址。