我将一个字符串附加到一个url,然后输入到一个数据库中,它使用一个单词的字符串,例如
NSString * string = @"one";
但是如果我的字符串有两个单词,例如
NSString * string = @"one two";
它不起作用。请参阅下面的代码。
NSMutableString * urlString = [NSMutableString stringWithString:url];
[urlString appendString:[NSString stringWithFormat:@"?%@=%@",kWord,word]];
问题显然在于stringWithFormat;
结果证明问题在于空间。
答案 0 :(得分:2)
网址中不允许使用空格字符(以及其他某些字符)。您需要将空格转换为%20
。这是正确的解决方案:
NSString *url = @"http://example.com/process.php";
NSString *kword = @"param";
NSString *word = @"one two";
NSMutableString * urlString = [url mutableCopy];
[urlString appendFormat:@"?%@=%@", kWord, [word stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
答案 1 :(得分:1)
我在这里尝试了几个例子,希望它有所帮助。
NSString *string1 = @"String1";
NSString *string2 = @"String2 String3";
NSMutableString *appendingString=[NSMutableString stringWithString: [string1 stringByAppendingString:string2]];
NSLog(@"String1:%@ String2:%@",string1,string2);
NSLog(@"StringwithAppend:%@",appendingString);
//------
NSString *url=@"www.abc.com";
NSMutableString * urlString = [NSMutableString stringWithString:url];
NSLog(@"URL String before append:%@",urlString);
NSString *kWord=@"key";
NSString *word=@"word";
[urlString appendString:[NSString stringWithFormat:@"?%@=%@",kWord,word]];
NSLog(@"URL String after append:%@",urlString);
控制台日志:
String1:String1 String2:String2 String3 StringwithAppend:String1String2 String3 附加前的URL字符串:www.abc.com 追加后的URL字符串:www.abc.com?key = word
答案 2 :(得分:0)
以这种方式试试。
NSString * urlString = [NSString stringWithFormat:@“%@?%@ =%@”,url,kword,word];