0
我正在使用cocoalibspotify進行Spotify iOS應用。SPPlaylistCallbackProxy播放列表:發送到已釋放實例的消息
在我的應用程序的一個點上,我創建了一個新的播放列表並向播放列表中添加了一些曲目。當這樣做時,由於創建的播放列表實例似乎已被釋放,因此我發生了崩潰。
這是代碼的樣子:
[[[SPSession sharedSession] userPlaylists]
createPlaylistWithName:playlistName
callback:^(SPPlaylist *createdPlaylist) {
if (createdPlaylist) {
[SPAsyncLoading waitUntilLoaded:createdPlaylist
then:^(NSArray *playlists) {
// Load all tracks using the URI's and add them to the playlist
SPPlaylist *playlist = [playlists objectAtIndex:0];
for (NSString *trackUri in trackUris) {
[[SPSession sharedSession]
trackForURL:[NSURL URLWithString:trackUri]
callback:^(SPTrack *track) {
if (track != nil) {
[SPAsyncLoading
waitUntilLoaded:track
then:^(NSArray *tracks) {
[playlist addItems:tracks atIndex:0 callback:NULL];
}];
}
}];
}
}];
}}];
這是日誌消息:
*** -[SPPlaylistCallbackProxy playlist]: message sent to deallocated instance 0x100e0120
我試圖保留在我的課的播放列表,但我仍然得到同樣的問題。我在這裏錯過了很明顯的東西嗎
獎勵問題:創建播放列表或載入曲目後(即使用-trackForURL:callback
),我必須使用SPAsyncLoading
,還是始終已加載對象?
(注:我在我的項目中使用ARC)
編輯:我跑了殭屍工具,看看發生了什麼事情,得到了以下結果時墜毀:
解決https://github.com/spotify/cocoalibspotify/issues/80。 – 2012-08-09 12:48:11