Получение списков исполнителей с помощью Cocolibspotify для iOS

Я хотел бы быстро получить список имен исполнителей в пользовательской «библиотеке» или плейлистах. Есть ли простой/асинхронный способ сделать это?


person devinross    schedule 23.05.2012    source источник


Ответы (1)


Взгляните на пример проекта «Угадай вступление», включенный в 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"]);
}];
person iKenndac    schedule 23.05.2012
comment
Я заметил в предположении, что вступительное приложение и когда я его реализую, начальный блок «тогда» возвращает только 2 списка воспроизведения (и 5 дорожек). Когда я закрываю приложение и снова открываю его, во второй раз waitAndFillTrackPool выдает все 6 плейлистов и гораздо больше треков. Любая причина? - person devinross; 24.05.2012
comment
Могу ли я получить все треки при первом использовании SPAsyncLoading? - person devinross; 24.05.2012
comment
Да — прочтите документацию к [SPAsyncLoading waitUntilLoaded:timeout:then:]. Вам нужно увеличить время ожидания. - person iKenndac; 24.05.2012