我在实现搜索栏时遇到问题。只要要搜索的字符串没有任何空格,它就可以正常工作,但是如果我引入带有空格的搜索字符串,则会显示错误。
- (void) searchBarSearchButtonClicked:(UISearchBar *)theSearchBar {
//[self searchTableView];
if([searchBar.text length] > 0) {
[stories removeAllObjects];
NSLog(@"reset stories");
if ([stories count] == 0) {
NSString * path = [NSString stringWithFormat:@"http://buscador.main.conacyt.mx/search?q=%@&num=%d", searchBar.text,100];
[self parseXMLFileAtURL:path];
//Once the query is complete, go load the view controller to show the data.
[self performSelectorOnMainThread:@selector(showAsuntosResult) withObject:nil waitUntilDone:NO];
}
答案 0 :(得分:0)
问题不在于您的搜索栏本身,而在于您对搜索结果的处理方式。
您正在使用搜索栏文字来创建网址。 URL可能不包含空格。
要在URL中使用包含空格的字符串,您需要通过执行以下操作来对其进行%-escape:
path = [path stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];