Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSURL返回null,stringByAddingPercent。。。返回噩梦_Iphone_Nsstring_Nsurl - Fatal编程技术网

Iphone NSURL返回null,stringByAddingPercent。。。返回噩梦

Iphone NSURL返回null,stringByAddingPercent。。。返回噩梦,iphone,nsstring,nsurl,Iphone,Nsstring,Nsurl,我会尽量快一点,我还是个新手,但我通常能把事情弄清楚,这个问题快把我逼疯了。我在一个网站上有一个XML,将它解析成一个表,单击该项,将链接加载到webView,然后开始发布 -(void)viewDidLoad { NSString *str = [NSString stringWithFormat:@"%@", [item objectForKey:@"link"]]; NSURL *url = [NSURL URLWithString = str]; NSURLRequest *re

我会尽量快一点,我还是个新手,但我通常能把事情弄清楚,这个问题快把我逼疯了。我在一个网站上有一个XML,将它解析成一个表,单击该项,将链接加载到webView,然后开始发布

    -(void)viewDidLoad {
NSString *str = [NSString stringWithFormat:@"%@", [item objectForKey:@"link"]];
NSURL *url = [NSURL URLWithString = str];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest = request];
}
如果你用NSLog*str,那就好了。如果您记录URL,则为空。问题显然是使用objectForKey,否则其他一切都会正常工作。现在如果我

NSURL *url = [NSURL URLWithString = [str stringByAddingPercentEscapesUsingEncoding:...
添加NSUTF或NSASCII时,URL的NSLog会添加

%0A%20%20%20%20%20%20%20%20%0A%20%20%0A%20%20
结束我的价值。因此,如果值为aq1sw2de3,则nslog将为

aq1sw2de3%0A%20%20 etc.

我只是在mac屏幕上输入的,假设代码中不存在所有拼写错误。我已经尝试了很多不同的方法将这个URL传递给webView,但是我的结果要么是空的,要么就是胡说八道。我是不是在浪费时间做我不能做的事?我走错方向了吗?我已经搜索了几个小时,我看到的所有问题都是由于他们传递的字符串或url的格式(空格和|导致错误)造成的,但我的链接值只是A到Z和0到9,仅此而已

“%20”和“%0A”分别是空格和制表符的转义序列百分比。检查字符串末尾是否有多余的空格。

斯科特说得对。请查看NSCharacterSet,以获取可用于修剪字符串的一组常量空白字符。您可以将NSString调用stringByTrimmingCharactersInSet与空白集一起使用,以删除不需要的字符。

不知何故,您的字符串获得了一些额外的空白。如果只是需要修剪,请尝试:

NSURL *url = [NSURL URLWithString:
             [[str stringByAddingPercentEscapesUsingEncoding: NSUTF8Encoding]        
             stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

让我震惊的人,我检查了又检查,确保没有额外的间隔。但至少我现在有点事要做,非常感谢。我会让你知道会发生什么,我会试试看,或者至少要记住,但问题显然来自我制作的XML,所以我需要解决这个问题。