2

そのため、URLからのXMLストリームからデータを取得しようとしています。このURLは、ユーザーが入力する検索文字列で構成されます。このコードが機能しない理由はありますか?

NSString *searchString = "Geoff";

NSString *updatedURL = [NSString stringWithFormat:@"http://mysearchpage.com/searchQuery=%@", searchString];

NSLog(updatedURL);
NSURL *url = [[NSURL alloc] initWithString:updatedURL];

これは単一の単語の検索では正常に機能しますが、名前や姓のように検索しようとすると、URLは毎回nilを返します。それを引き起こしている可能性のある文字列の動作はありますか?

検索文字列が追加されたときに「」を「%20」に置き換えて、それが問題であるかどうかを確認しようとしました。私はそれを使用して行いました:

NSURL *url = [[NSURL alloc] initWithString:[updatedURL stringByReplacingOccurrencesOfString:@" " withString:@"%%20"]];

何か案は?前もって感謝します!

4

2 に答える 2

11

そのためには NSString の-stringByAddingPercentEscapesUsingEncoding:メソッドを使用する必要があります。

NSURL *url = [[NSURL alloc] initWithString:
   [updatedURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
于 2010-08-04T18:26:53.630 に答える
0

これが実際にコードのコピー & ペーストである場合は、 - 記号がないことが原因である可能性がありsearchStringます@。これはNSString *searchString = @"Geoff";

于 2010-08-04T18:29:49.233 に答える