使用SPSearch检索播放列表/艺术家/等?

时间:2014-03-20 01:15:39

标签: ios objective-c spotify cocoalibspotify-2.0 libspotify

我正在尝试使用SPSearch类访问相关的艺术家/播放列表等,但是在检查日志时,似乎搜索永远不会完成加载:

    self.search = [SPSearch searchWithSearchQuery:self.artist inSession:[SPSession sharedSession]];
[SPAsyncLoading waitUntilLoaded:self.search timeout:100.0 then:^(NSArray *loadedItems, NSArray *notLoadedItems){
    NSLog(@"Search completed, Loaded items = %d, unloaded items = %d", [loadedItems count], [notLoadedItems count]);
}];

我看到了一个类似的问题SPSearch in CocoaLibSpotify但是Key-Value-observer对于我想做的事情似乎有点过分/错综复杂(也许只是我对iOS开发的相对新颖性使得KVO看起来像矫枉过正/曲)。即使它不是过度杀伤,我如何使用SPSearch类来完成我想做的事情?它看起来应该是直截了当的,但我似乎被挂起了一些恶魔般的细节(搜索永远不会加载,艺术家/播放列表数组返回0的数字等)。

编辑: 另外,我试图给KVO一个镜头,而不是SPAsyncLoading,但它已经过了10分钟,似乎没有观察到任何变化:

    [self addObserver:self
       forKeyPath:@"search.loaded"
          options:0
          context:nil];

...

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {

if ([keyPath isEqualToString:@"search.loaded"]) {

    if (!self.search.isLoaded)
        return;

    NSLog(@"artists length %d", self.search.artists.count);
    NSLog(@"playlistslength %d", self.search.playlists.count);
    NSLog(@"albums length %d", self.search.albums.count);

} else {
    [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}

}

另外,我可以排除与网络相关的问题,我通过Wifi获得稳定的数据速率,并且身份验证完美无缺。

感谢。

0 个答案:

没有答案