Objective c NSString和NSUrl未正确转换

Objective c NSString和NSUrl未正确转换,objective-c,nsstring,nsurl,Objective C,Nsstring,Nsurl,因此,我试图从一个来自URL的XML流中检索数据。此URL在用户输入的搜索字符串上配置。是否有任何理由说明此代码不应工作 NSString *searchString = "Geoff"; NSString *updatedURL = [NSString stringWithFormat:@"http://mysearchpage.com/searchQuery=%@", searchString]; NSLog(updatedURL); NSURL *url = [[NSURL alloc

因此,我试图从一个来自URL的XML流中检索数据。此URL在用户输入的搜索字符串上配置。是否有任何理由说明此代码不应工作

NSString *searchString = "Geoff";

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

NSLog(updatedURL);
NSURL *url = [[NSURL alloc] initWithString:updatedURL];
现在,这对于单词搜索很好,但只要我尝试搜索像名字和姓氏这样的名字,URL每次都返回零。字符串是否有任何行为可能导致这种情况

我甚至尝试在追加搜索字符串时将“”替换为“%20”,以确定这是否是问题所在。我是这样做的:

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

有什么想法吗?提前谢谢

您应该使用NSString的
-stringbyaddingpercentescapesusingencode:
方法:

NSURL *url = [[NSURL alloc] initWithString:
   [updatedURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

如果这确实是代码的复制和粘贴,可能是因为
searchString
缺少
@
-符号。这应该是
NSString*searchString=@“Geoff”

我假设丢失的“不是你的问题,所以我添加了它。不,这不是复制粘贴,我简化了URL以便更容易理解。我意识到丢失了很多东西。