我有一个字符串 NSString * const kAUrl = @“http://www.google/start.php?show=best&usr=(here)&pwd=x”;将字符串传递给URL。
和
我想通过另一个字符串 的NSString * A = @ “AA”;
上面的网址在我写在这里(在这里)在上面的网址。
我怎么能通过它?
关于。
我有一个字符串 NSString * const kAUrl = @“http://www.google/start.php?show=best&usr=(here)&pwd=x”;将字符串传递给URL。
和
我想通过另一个字符串 的NSString * A = @ “AA”;
上面的网址在我写在这里(在这里)在上面的网址。
我怎么能通过它?
关于。
您需要使用 NSString
实例方法-[stringByAddingPercentEscapesUsingEncoding:]
对适合URL的字符串进行编码。
然后使用-[stringWithFormat:]
放置到URL中。
例如:
-(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];
}
我想把kAUrl当作const.NOw建议我plz。感谢 – iscavengers 2010-11-17 13:20:07
是否有使用const的原因?该字符串在这种状态下是不可改变的(因为它不是一个NSMutableString)... – 2010-11-17 13:23:57
据我所知,const NSString *对象将无法重新分配新的NSString,并且只会使用一个常量字符串(即@“string”)。 – 2010-11-17 13:30:28
使用NSString stringWithFormat:
NSString *a = @"hello";
NSString *kAUrl = [NSString stringWithFormat:@"http://www.google/start.php?show=best&usr=%@&pwd=x", a];
kAUrl现在包含的其中%@是内容。
当心虽然 - 如果a
包含任何URL保留字符(即一个&
等),它可能会破坏您的网址。
它不会工作,因为NSString * const a; a是const ..给我error.plz建议。 – iscavengers 2010-11-17 13:11:35
为什么它必须是一个常量?只是不要让它成为一个常量,你应该没问题。 – deanWombourne 2010-11-23 16:15:55
你将你的宣言改成这样:
NSString *kAUrl = [NSString stringWithFormat:@"http://www.google/start.php?show=best&usr=%@&pwd=x", a];
祝您好运!
的NSString * A = @ “AA”;
的NSString * kAUrl = [NSString的stringWithFormat:@ “http://www.google/start.php?show=best & USR =%@ & PWD = X”,一个];
kAUrl = [kAUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
工作完成。
不会将整个字符串编码为URL吗?包括URL协议等部分? – 2010-11-17 13:27:57
right.it will。我不能将字符串传递给const。 – iscavengers 2010-11-17 13:43:37
你为什么需要“const”? – Bourne 2010-11-17 13:58:59
你为什么要创建一个字符串常量,然后尝试修改? – MystikSpiral 2010-11-17 13:17:00
当它已经是不可变的时,我看不到NSString常量的值。 – 2010-11-17 13:26:27