NSString和NSUrl没有正确转换

gab*_*m10 2 objective-c nsurl nsstring

所以我试图从来自URL的XML流中检索数据.此URL在用户输入的搜索字符串上配置.这个代码不应该有效吗?

NSString *searchString = "Geoff";

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

NSLog(updatedURL);
NSURL *url = [[NSURL alloc] initWithString:updatedURL];
Run Code Online (Sandbox Code Playgroud)

现在这适用于单字搜索,但是一旦我尝试搜索名字和姓氏,URL每次都返回nil.是否有可能导致该字符串的字符串的行为?

当搜索字符串被追加时,我甚至尝试用"%20"替换"",以查看是否存在问题.我这样做使用:

NSURL *url = [[NSURL alloc] initWithString:[updatedURL stringByReplacingOccurrencesOfString:@" " withString:@"%%20"]];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前致谢!

Vla*_*mir 11

你应该使用NSString的-stringByAddingPercentEscapesUsingEncoding:方法:

NSURL *url = [[NSURL alloc] initWithString:
   [updatedURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)