2012-08-02 1 views
2

Мое приложение имеет два представления, и я хочу вызвать поиск google на втором представлении с помощью строки поиска (это имя Например, «Samsung Mobile») передается из основного вида приложения.Как вызвать google-поиск в подвью с строкой поиска, переданной из основного вида приложения iPhone

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

-(void) setLabelText:(NSString *) myNewText 
{ 
    [productName setText:myNewText]; 

    NSURL *theURL =[NSURL URLWithString:@"http://www.google.com"]; 
    NSURLRequest *theRequest = [NSURLRequest requestWithURL:theURL]; 

    [webSearchView loadRequest:theRequest]; 
} 

Просто интересно, можно ли передать строку поиска в качестве параметра с указанной выше функцией.

ответ

3

Попробуйте это:

NSString *urlString = [NSString stringWithFormat:@"http://google.com?q=%@", searchString]; 
NSURL *theURL =[NSURL URLWithString:urlString]; 

Не забывайте экранировать urlString перед передачей его в NSURL, если он содержит пробелы, специальные символы и т.д.

+0

Спасибо за код. Он отлично работает для одной строки слова. Несмотря на то, что у меня есть некоторые названия продуктов, они содержат два слова, разделенных «пробелом» или «(например,« Samsung Mobile »или« Nokia »(N90). Надеюсь, эти специальные символы должны быть заменены на« + », прежде чем передавать его URL string. – Sibin

+0

@ Сибин, поэтому я написал последнее предложение :) Посмотрите на 'CFURLCreateStringByAddingPercentEscapes()'. –

+0

Вместо CFURLCreateStringByAddingPercentEscapes() Я подал в суд на приведенный ниже код, чтобы заменить специальные символы, NSMutableString * strNew = [NSMutableString stringWithFormat: @ "% @", myNewText]; [strNew setString: [strNew stringByReplacingOccurrencesOfString: @ "" withString: @ "+"]]; Здесь я не могу заменить символ < " >< + >, как и предыдущая строка кода. Какие-либо предложения? – Sibin

0

В соответствии с ответом Н2СО3, но я думаю, что Google URL-адрес поиска может быть изменен. Я также предпочитаю https по http:

NSString *urlString = [NSString stringWithFormat:@"https://google.com/search?q=%@", searchString]; 
NSURL *theURL =[NSURL URLWithString:urlString]; 

 Смежные вопросы

  • Нет связанных вопросов^_^