我一直在使用以下代码在我的应用内打开Twitter。虽然它有效,但我似乎无法在NSString中嵌入空格。
NSString *string1 = [NSString stringWithFormat:@"twitter://post?message=hello+world"];
NSString *string2 = [NSString stringWithFormat:@"http://twitter.com/intent/tweet?text=hello%20world"];
NSURL *twitterURL = [NSURL URLWithString:string1];
NSURL *mobileURL = [NSURL URLWithString:string2];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL])
[[UIApplication sharedApplication] openURL:twitterURL];
else
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mobileURL]];
代码的两个部分都适用于预期的情况,但是如何在NSURL中嵌入空格?第二段代码打印" hello2orld"而不是"你好世界"。我也试过+分隔符无济于事。
答案 0 :(得分:2)
您可以使用以下指令将空格转换为%20:
NSString *string1 = [NSString stringWithFormat:@"twitter://post?message=hello world"];
string1 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
您也可以使用其他NSString方法删除此编码:
– stringByReplacingPercentEscapesUsingEncoding