2015-07-03 5 views
0

Я пытаюсь дать моему простому браузеру возможность распознавать, что текст с пробелами следует рассматривать как поисковый запрос Google. Чтобы создать строку, которая может войти в URL-адрес, мне нужно заменить пробелы «+».Добавление встроенной возможности поиска Google в браузер

Я попытался сделать это в первом выражении «если», однако, когда я запускаю программу и помещаю текст с пробелами в строку поиска, ничего не происходит; вводят «google.com» или другие URL-адреса.

Что не так с моим кодом?

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 

    NSString *URLString = textField.text; 

    NSURL *URL = [NSURL URLWithString:URLString]; 

    if ([URLString rangeOfString:@" "].location != NSNotFound) { 
    NSString *plusReplace = [URLString stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 
    URL = [NSURL URLWithString:[NSString stringWithFormat:@"google.com/search?q=<%@ query", plusReplace]]; 


    } 

    if (!URL.scheme) { 
     // The user didn't type http: or https: 
     URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", URLString]]; 
    } 

    if (URL) { 
     NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
     [self.webView loadRequest:request]; 

    } 

    return NO; 

} 

ответ

0

Я думаю, что у вас может возникнуть проблема с 3-м условным выполнением второго запроса. Что, если вы измените это на это?

if (URL) { 
    NSString *plusReplace = [URLString stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 
    URL = [NSURL URLWithString:[NSString stringWithFormat:@"google.com/search?q=<%@ query", plusReplace]]; 
} 

if (!URL.scheme) { 
    // The user didn't type http: or https: 
    URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", URLString]]; 
} 

NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
[self.webView loadRequest:request]; 
+0

Функциональность по-прежнему не работает с изменениями, которые вы сделали, спасибо, что указали на двойное условие. –

+0

У вас есть способ понять, что запрашивается при создании представления с пробелами? Это было бы первым, что я проверил бы, если бы я отлаживал это. –

+0

Я не знаю, что делает программа, когда создается представление с пробелами, мне нужно будет это выяснить. –