2015-07-01 183 views
1

這項任務是在搜索查詢中帶上任何空格,假設它是一個搜索條件,並通過編程方式通過Google運行它。這裏是代碼:iOS網絡瀏覽器谷歌搜索

NSString *URLString = textField.text; 

if ([URLString rangeOfString:@" "].location > 0) { 

    NSString *searchString = [URLString stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 

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

    NSURLRequest *searchRequest = [NSURLRequest requestWithURL:searchURL]; 

    [self.webview loadRequest:searchRequest]; 
} 

我敢肯定它是馬虎,但我只是好奇,爲什麼它不起作用。我把它通過調試器,一切都達到「searchString」似乎進展順利。我很茫然。

讓我知道是否需要添加更多的代碼。

+1

這裏似乎沒有一個明確的問題,並不明顯是什麼有用的答案會包含。 「它不起作用」表明這個代碼示例沒有按照預期工作,但它告訴我們很少:你提供了什麼輸入文本?你預計會發生什麼,你會如何知道它是否有效?你看到了什麼意外的結果,你能瞭解到底發生了什麼? – Jonah

+0

我用它的代碼片段創建了一個測試項目,並在webview中爲我加載了空間搜索。您沒有指定是否從代碼創建了Web視圖,或者是否使用了故事板。如果您使用了故事板,我會建議檢查您的網絡視圖插座是否已連接,以便在您調用self.webview時不會調用無對象。另請檢查您的搜索字段插座是否已連接到您的財產。如果您在代碼中創建Web視圖,請不要忘記將其添加到視圖控制器視圖並將框架設置爲可見。 – digitalHound

+0

對不起。 –

回答

2

我創建了一個項目,使用Xcode 6.3,故事板,並在iPhone 6模擬器中運行,它工作得很好。下面是從模擬器兩張截圖:

Without spaces

With Spaces

,這裏是我使用的代碼。這是一個從你的略有不同,我也包括我的整個VC:

#import "ViewController.h" 

@interface ViewController() 
@property (strong, nonatomic) IBOutlet UITextField *searchText; 
@property (strong, nonatomic) IBOutlet UIWebView *webView; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (IBAction)googleItButtonPress:(id)sender { 

    NSString *searchString = self.searchText.text; 

    if ([searchString rangeOfString:@" "].location > 0) { 

     NSString *searchStringModified = [searchString stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 

     NSURL *searchURL =[NSURL URLWithString:[NSString stringWithFormat:@"http://google.com/search?q=%@",searchStringModified]]; 

     NSURLRequest *searchRequest = [NSURLRequest requestWithURL:searchURL]; 

     [self.webView loadRequest:searchRequest]; 
    } 
} 

@end 

我也得到這個當我打印我的修改搜索字符串的值,如果我設置爲調試斷點:

(lldb) po searchStringModified 
google+stuff 

看起來你很好走。在這種情況下,只需使用storyboard並確保您的UIWebView已連接到您的VC代碼。

+0

當然,「Google it」按鈕與該IBAction相關 –

0

檢查這個東西這個工作對我罰款

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    NSString *URLString = @"HEllo World"; 

    if ([URLString rangeOfString:@" "].location > 0) { 

     NSString *searchString = [URLString stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 

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

     NSURLRequest *searchRequest = [NSURLRequest requestWithURL:searchURL]; 

     [webview loadRequest:searchRequest]; 
    } 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (void)webViewDidStartLoad:(UIWebView *)webView 
{ 
    NSLog(@"Started Loading"); 
} 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 

} 

enter image description here

1

不知道發生了什麼,但我遭受自然消退的情況。感謝大家,爲您的時間和建議。