所以我试图从来自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"]];
任何想法?提前谢谢!
答案 0 :(得分:11)
你应该使用NSString的-stringByAddingPercentEscapesUsingEncoding:
方法:
NSURL *url = [[NSURL alloc] initWithString:
[updatedURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
答案 1 :(得分:0)
如果这确实是副本&粘贴代码,可能是因为searchString
缺少@
- 符号。这应该是NSString *searchString = @"Geoff";