2014-07-22 20 views
0

我想要获取Spotify用户出演的最后5首歌曲。看过Spotify提供的猜测前奏示例后,我能够拉动整个播放列表,但我想知道cocoaLibSpotify中是否有一种方法可以一次只拉出一定数量的歌曲。下面是功能,我使用来从星号的播放列表中的曲目:CocoaLibSpotify获取五个最近出演的歌曲

+ (void)gatherTracksWithBlock:(void (^)(BOOL, NSArray *))block { 
    __block SPPlaylist *starred = [SPSession sharedSession].starredPlaylist; 
    [SPAsyncLoading waitUntilLoaded:starred timeout:20.0 then:^(NSArray *loadedItems, NSArray *notLoadedItems){ 

     if ([[starred items] count] == 0) { 
      block(NO, nil); 
      starred = nil; 
      return; 
     } 

     NSMutableArray *topTracks = [[NSMutableArray alloc] initWithCapacity:[[starred items] count]]; 

     for (SPPlaylistItem *item in [starred items]) { 
      if (item.itemClass == [SPTrack class]) { 
       [topTracks addObject:item.item]; 
      } 
     } 

     block(YES, topTracks); 
     starred = nil; 
     return; 
    }]; 
} 

是否有任何的修改,我可以得到这个功能,每次只拉一定数量的轨道?另外,如果这是可能的,那么我是否能够跳过之前我拉过的曲目数量?

最后一个问题!是否有可能使用cocoaLibSpotify来收集用户最近播放的曲目?我在看旧的帖子,我看到的答案是否定的,但是我想知道自这些帖子关闭后是否有任何改变。

对不起,复合问题。这是我第一次发布!

感谢, 泰勒

回答

0

播放列表包含SPPlaylistItem对象,其中有一个dateAdded属性。一旦你有了已加星标的播放列表中的项目,按该属性排序,你将按照添加日期的顺序创建一个数组 - 然后你只需抓取列表中的前五个项目,就完成了。

你仍然不能得到最近播放的曲目。

+0

嗨iKenndac, 感谢您的回应!执行上述功能后,我目前按dateAdded排序以获得最后五个曲目。不过,我想知道是否有办法只拉那五个轨道,因为我真的不需要其余的阵列。有没有办法做到这一点?谢谢,泰勒 –