Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Uitableview UIApplication openURL无法打开url_Uitableview_Nsstring_Nsurl_Uiapplication_Openurl - Fatal编程技术网

Uitableview UIApplication openURL无法打开url

Uitableview UIApplication openURL无法打开url,uitableview,nsstring,nsurl,uiapplication,openurl,Uitableview,Nsstring,Nsurl,Uiapplication,Openurl,我正在尝试实现一个求职应用程序。结果将在UITableView中显示给用户。 当用户单击单元格时,应打开原始职务公告。 为此,我实现了以下方法: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSString *url = [[NSString alloc]init]; url=[[[xmlParser jobs] objectAtInde

我正在尝试实现一个求职应用程序。结果将在UITableView中显示给用户。 当用户单击单元格时,应打开原始职务公告。 为此,我实现了以下方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    NSString *url = [[NSString alloc]init];
    url=[[[xmlParser jobs] objectAtIndex:indexPath.row] urlAddress]; //UrlAddress is an instance variable of type NSString
    NSURL *urlJobDetail = [NSURL URLWithString:(url)];

    [[UIApplication sharedApplication] openURL: urlJobDetail];
}
有趣的是:如果我键入一个类似@的字符串http://www.google.com“或任何其他链接,它都有效。但当我试图打开一个“urlJobDetail”时,它就是不起作用。。。什么都没发生

我在stackoverflow.com上搜索了一下发现:

url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
但此方法会更改原始url地址并添加大量%符号,如: "http://www.google.com%20 %20 %20" 所以我得到了一个页面未找到的错误

我不明白为什么这个函数不接受常规NSString变量作为

我用NSLog检查了一下,url看起来非常有序

任何帮助都将不胜感激

提前感谢

,因为这是相关的限制

URL中的空格和控制字符必须转义才能在HTTP中传输,其他不允许的字符也必须转义。。。必须使用“%”字符后跟两个十六进制数字的标准约定对URL中不允许的任何字符进行编码,包括不在允许的字符集中的空格和其他二进制数据


嗨,谢谢你的回答,但我还没有完全明白。。。如果转义更改了URL,使我无法打开所需的URL,这对我有什么帮助?有办法打开URL吗?