... /library/Application%20Support/CDS/%3FpID=27ce1ef8-c75e-403b-aea1-db1ae31e05cc/...
在该页面中,如果用户点击链接转到外部网站,则他们点击我的代码处理它的后退按钮:
if ([self.webVIEw canGoBack]) [self.webVIEw goBack];
但是,当调用[self.webVIEw goBack]后,再次调用shouldStartLoaDWithRequest:时,传递给shouldStartLoaDWithRequest的URL已更改为:
`... /library/Application%20Support/CDS/?pID=27ce1ef8-c75e-403b-aea1-db1ae31e05cc/..`.
即OS已经改变了“?”在“?”的URL内.
我从shouldStartLoaDWithRequest返回YES:但由于“?”转向 ”?”导致使用WebKitErrorDomain 102调用dIDFailLoaDWithError:并且页面无法加载.
文件实际上有?在它的名字,但它是转换成的iOS系统调用?在构建NSURL对象的过程中,该对象传递给UIWebVIEw:loadRequest:如下所示
NSURL *fullURL = [[NSfileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create: YES error:&err];fullURL = [fullURL URLByAppendingPathComponent:folderLocation isDirectory:YES];fullRul = [fullURL URLByAppendingPathComponent: pagetoLoad isDirectory:NO];NSURLRequest *requestObj = [NSURLRequest requestWithURL: fullURL]; [self.webVIEw loadRequest:requestObj];
folderLocation是一个包含?的Nsstring,对URLByAppendingPathComponent的调用会自动将其转换为?,而不进行该转换,页面加载失败.
有没有人见过这个?
解决方法 我没有使用文件网址,但我遇到了同样的问题.看起来这是处理它的最佳方式.
Nsstring *newURLString = [[origurl absoluteString] stringByAppendingPathComponent:appendedString];NSURL *url = [NSURL URLWithString:newURLString];总结
以上是内存溢出为你收集整理的ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障全部内容,希望文章能够帮你解决ios – NSURL:URLByAppendingPathComponent:转换?进入?,但随后UIWebView撤消了转换导致的负载故障所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)