1

UIWebView を使用して iPhone でカスタム検索を作成したいと思います。

{query}例:以下の行をユーザーが入力したものに置き換えます。

URL: http://stackoverflow.com/search?q={query}&submit=search

最終コード:

[super viewDidLoad];
_webView.delegate = self;
NSString *queryString = _searchField.text;
NSString *request2 = [NSString stringWithFormat:@"http://stackoverflow.com/search?q=%@&submit=search", queryString];
NSURLRequest *requestURL = [NSURLRequest requestWithURL:[NSURL URLWithString:request2]];

[_webView setScalesPageToFit:YES];
[self.webView loadRequest:requestURL];
4

3 に答える 3

3

このようなもの ?

NSString *request = [NSString stringWithFormat:@"http://stackoverflow.com/search?q=%@&submit=search", @"USER ENTRY"];
于 2012-07-09T14:54:02.107 に答える
1

NSString は、stringByReplacingOccurrencesOfString:withString:使用できるメソッドを提供します。

NSString *request = [urlString stringByReplacingOccurrencesOfString:@"{query}"
                                                        withString:queryString];

NSMutableString には、文字列をその場で変更するための同様のメソッドがあります。

注:「Occurrences」には r が 2 つあります。最初はつづりを間違えていました。これがエラーの原因です。メソッド名のスペルを正しくする必要があります。

于 2012-07-09T14:58:35.863 に答える
0

文字列を NSURLRequest の「リクエスト」に送信する前に、文字列を URL オブジェクト型に変換していないようです。

試す:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:request2]];

置換の代わりに、文字列の作成にも luxsypher の回答を試すことができます。

また、期待どおりであることを確認するために、NSString の URL を出力することを検討することもできます。

于 2012-07-09T15:30:35.563 に答える