IOS中的网址%20个空格

时间:2014-06-01 22:40:56

标签: ios objective-c

我无法通过插入%20向我的网址添加空格。我已尝试过两次

[mystring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[mystring stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

但他们两个都有同样的错误。每当我看到它们输出的内容,而不是看到空格时,我会看到0X1.E2A803A48E621P-682。

我正在插入类似"这是示例文本"。 有没有人遇到这个错误,可能知道如何解决它? 提前谢谢!

2 个答案:

答案 0 :(得分:4)

即使你自己提供的答案中的第二个例子也是错误的。

方法stringByAddingPercentEscapesUsingEncoding不会更改字符串。这是一种返回字符串的转义版本的方法。

此代码:

[new_string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

什么都不做。它会根据您忽略的方法调用创建字符串的转义版本。你想要这个:

new_string = 
  [new_string stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];

答案 1 :(得分:0)

好的,我正在使用文本字段中的文字:

[text_field.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

甚至

[(NSString*)text_field.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

但我通过先将它放入一个字符串然后格式化它来修复它;

NSString * new_string=text_field.text;
[new_string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

这有效......我完全不知道为什么。如果有人可以发布为什么有效,而不是前两个会很棒。