将字符串传递给URL。

时间:2010-11-17 13:06:01

标签: iphone objective-c

我有一个字符串 NSString * const kAUrl = @“http://www.google/start.php?show=best&usr=(here)&pwd=x”;

我想传递另一个String NSString * a = @“aa”;

到我在上面的网址(这里)写的地方的上面的网址。

我怎么能通过它?

问候。

4 个答案:

答案 0 :(得分:3)

使用NSString stringWithFormat:

NSString *a = @"hello";
NSString *kAUrl = [NSString stringWithFormat:@"http://www.google/start.php?show=best&usr=%@&pwd=x", a];

kAUrl现在包含%@所在的内容。


注意 - 如果a包含任何网址保留字符(即&等),则可能会破坏您的网址。

答案 1 :(得分:3)

您需要使用适合URL的字符串进行编码 NSString实例方法-[stringByAddingPercentEscapesUsingEncoding:]

然后使用-[stringWithFormat:]放入网址。

例如:

-(NSURL*)showBestURLWithUser:(NSString*)user {
{
   user = [user stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
   static NSString* template = @"http://www.google/start.php?show=best&usr=%@&pwd=x";
   NSString* urlString = [NSString stringWithFormat:template, user];
   return [NSURL URLWithString:urlString];
}

答案 2 :(得分:1)

您可以将声明更改为:

NSString *kAUrl = [NSString stringWithFormat:@"http://www.google/start.php?show=best&usr=%@&pwd=x", a];

祝你好运!

答案 3 :(得分:1)

NSString * a = @“aa”;

NSString * kAUrl = [NSString stringWithFormat:@“http://www.google/start.php?show=best&usr=%@&pwd=x”,a];

kAUrl = [kAUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

完成工作。