我正在尝试获取Spotify用户已加星标的最后5首歌曲。在看了Spotify提供的Guess the Intro示例后,我能够拉出整个播放列表,但我想知道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 :(得分:0)
播放列表包含SPPlaylistItem
个对象,其属性为dateAdded
。获得已加星标的播放列表项目后,按该属性排序,您将按照添加日期的顺序排列数组 - 然后您只需抓住列表中的前五项即可完成。
你仍然无法获得最近播放的曲目。