2012-05-23 22 views

回答

5

看看CocoaLibSpotify附带的示例项目“Guess the Intro”。该项目中的方法waitAndFillTrackPool显示如何获取用户播放列表中所有曲目的列表。

一旦你有了这个列表,你可以做下面的事情从他们那里得到艺术家,把它们放到一个集合中以稀释重复,然后等到它们被加载。

NSArray *artists = [theTrackPool valueForKeyPath:@"@unionOfArrays.artists"]; 
NSArray *uniqueArtists = [[NSSet setWithArray:artists] allObjects]; 

[SPAsyncLoading waitUntilLoaded:uniqueArtists then:^(NSArray *loadedArtists) { 
    // Artists are loaded! 
    // Log a list of artist names... 
    NSLog(@"%@", [loadedArtists valueForKey:@"name"]); 
}]; 
+0

我注意到猜测的介绍的应用程序,当我自己实现它时,初始'then'块只返回2个播放列表(和5个音轨)。当我关闭应用程序并重新打开它时,waitAndFillTrackPool第二次提供全部6个播放列表和更多轨道。任何原因? – devinross

+0

第一次使用SPAsyncLoading时可以获得所有曲目吗? – devinross

+0

是 - 将文档阅读为[SPAsyncLoading waitUntilLoaded:timeout:then:]。你需要增加超时时间。 – iKenndac

相关问题