【发布时间】:2013-11-17 23:49:27
【问题描述】:
我正在使用 cocoalibspotify(很棒的东西)在我的项目中流式传输 Spotify 音乐。
选择播放列表后,此代码运行:
[[SPSession sharedSession] playlistForURL:myPlaylistUrl callback:^(SPPlaylist *playlist) {
if(playlist != nil){
_chosenPlaylist = playlist;
}
}];
我稍后使用_chosenPlaylist 创建一个包含所有曲目的数组。这适用于我选择的第一个播放列表。但是,当我选择另一个播放列表(或再次选择相同的播放列表)时,块变量 playlist 为 nil,这会导致崩溃。
注意:在选择第二个播放列表之前,我关闭了视图控制器,因此它的行为方式应该与第一次相同。
关于为什么我第二次运行此代码时播放列表返回 nil 的任何想法?
编辑:
我正在使用ARC。
_chosenPlaylist 的声明看起来像这样SPPlaylist *_chosenPlaylist;
崩溃是因为这行:[playlists addObject:_chosenPlaylist];,这很有意义,因为在这种情况下 _chosenPlaylist 为 nil。
【问题讨论】:
-
请提供更多信息:您使用的是 ARC 吗? _chosenPlaylist 是如何声明的?您发布的代码会检查播放列表是否为零,那么崩溃实际发生在哪里?
-
嗨@iKenndac,我已经更新了我的帖子,提供了更多信息。谢谢。