我已经阅读了适用于iOS的soundcloud的sdk文档,但它似乎没有说出搜索歌曲的内容,尽管它谈到了从现有的soundcloud用户列出曲目。那么有没有资源或示例?万分感谢!
答案 0 :(得分:9)
您必须使用以下格式:
https://api.soundcloud.com/me/tracks?q=SEARCHTEXT&format=json
请记住,如果用户输入空格,则必须将其替换为%20
,您可以通过以下方式实现此目的
NSString *search = [originalSearch stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
然后,只需要像这样请求JSON数据:
[SCRequest performMethod:SCRequestMethodGET onResource:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.soundcloud.com/me/tracks?q=%@&format=json", search]] usingParameters:nil withAccount:[SCSoundCloud account] sendingProgressHandler:nil responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
我的最终代码如下:
NSString *search = [searchBar.text stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
[SCRequest performMethod:SCRequestMethodGET onResource:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.soundcloud.com/me/tracks?q=%@&format=json", search]] usingParameters:nil withAccount:[SCSoundCloud account] sendingProgressHandler:nil responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSError *jsonError;
NSJSONSerialization *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
if (!jsonError && [jsonResponse isKindOfClass:[NSArray class]]) {
self.searchQuery = (NSArray *)jsonResponse;
[self.tableView reloadData];
}
else {
NSLog(@"%@", error.localizedDescription);
}
}];`
我希望这有帮助!