Ber*_*rgP 5 iphone nsurl ios wkwebview
我正在尝试为我的 Web 视图显示错误消息,并且我需要知道不可用的 url,因此我实现了委托方法:
- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error {
[self.addressBar finishLoadingProgressAnimated:YES];
NSLog(@"%@", webView.URL);
[self showErrorPageForURL:error.userInfo[NSErrorFailingURLStringKey]];
}
Run Code Online (Sandbox Code Playgroud)
但是 NSErrorFailingURLStringKey 已被弃用,那么如何获取失败的 URL?WKNavigation的界面是空的。此时 webView.URL == nil 。
斯威夫特 3 或斯威夫特 4
func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
if error._domain == "WebKitErrorDomain" {
if let info = error._userInfo as? [String: Any] {
if let url = info["NSErrorFailingURLKey"] as? URL {
}
if let urlString = info["NSErrorFailingURLStringKey"] as? String {
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用NSURLErrorFailingURLStringErrorKey来替换NSErrorFailingURLStringKey. 如果你跳到 Xcode 中的定义,你会发现下面的讨论。
该常量取代了 NSErrorFailingURLStringKey,后者在 Mac OS X 10.6 中已被弃用。为了向后兼容,两个常量都引用相同的值,但该符号名称具有更好的前缀。
| 归档时间: |
|
| 查看次数: |
6437 次 |
| 最近记录: |