设置NSURL,使%@的值等于%@而不是插入%@

qua*_*ato 2 iphone nsurl

我正在使用ASIHTTP并尝试为网站执行GET请求:

NSURL *url = [[NSURL URLWithString:@"/verifyuser.aspx?user=%@" relativeToURL:@"http://domain.com"],userName  retain];       
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setTemporaryFileDownloadPath:@"myfile2.txt"];
[request setDownloadDestinationPath:@"myfile.txt"];

[request startSynchronous];
Run Code Online (Sandbox Code Playgroud)

但是,当我在[request startSynchronous]上放置一个断点并进入调试器时,请求对象的url值等于userName变量.我正在尝试将userName变量插入到字符串中,然后将其用作url,因此我的NSURL声明中的某些内容不正确.

谢谢你的帮助!

Gre*_*tin 9

你的代码不正确,你没有正确地进行字符串格式化,它应该如下所示:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"/verifyuser.aspx?user=%@", userName] relativeToURL:@"http://domain.com"];
Run Code Online (Sandbox Code Playgroud)

请注意,您不需要保留URL,因为您只是将其传递给请求.