我有一个基本上搜索youTube视频的应用程序。所有的youTube搜索和结果视频都在一个视图控制器中。
现在,一切工作正常,我得到想要的视频(使用JSON)显示在我的视图使用这个API: "https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=%@"
问题是:1. UISearchBar只接受一个单词进行搜索。如果我在搜索栏中输入两个或两个以上的单词,应用程序就会崩溃。(如果我不想让这两个词导致应用崩溃,然后我需要在搜索栏上写,即"新%20首歌"而不是"新歌")。所以这里的问题是:我需要检测每一个空间在搜索栏。文本并将其替换为"%20"?或者有更合适的说法…?
另一件事:语言-我的UISearchBar只接受英语!如果我在上面加上另一种语言——崩溃!
有人能解释一下吗?我试图改变一些API规则,但没有成功。
编辑:我不离开这里的代码,因为我不认为这是问题。代码运行良好…我认为这更像是API问题,但当然,如果需要的话,我会发布一些代码。谢谢大家!!
要获得正确的URL字符串,您需要使用stringByAddingPercentEscapesUsingEncoding方法。因此,所有空格和字符(英语除外)将被特殊代码替换(例如空格将被替换%20,等等)。例子:
NSString *searchStr = @"string with space";
NSString *youtubeURLString = [NSString stringWithFormat:@"https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=%@", searchStr];
NSString *URLString = [youtubeURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];