2012-05-23 2 views

ответ

5

Посмотрите пример проекта «Угадайте ввод», входящего в комплект CocoaLibSpotify. Метод 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

Смежные вопросы