我正在尝试使用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获得稳定的数据速率,并且身份验证完美无缺。
感谢。