Uitableview UIApplication openURL无法打开url
我正在尝试实现一个求职应用程序。结果将在UITableView中显示给用户。 当用户单击单元格时,应打开原始职务公告。 为此,我实现了以下方法: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
- (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吗?