在 WebVIew 中加载请求时应用程序崩溃 - 目标 C

Posted

技术标签:

【中文标题】在 WebVIew 中加载请求时应用程序崩溃 - 目标 C【英文标题】:App is crashing while loading request in UIWebVIew - ObjectiveC 【发布时间】:2016-09-25 09:59:31 【问题描述】:

我正在加载指向我的webView 的 URL,但在启动 loadRequest 后,我的应用程序崩溃了。

我的WebView 在带有XIB 的自定义UIView 类中,我正在添加这样的视图:

  WebViewContainer *webViewContainer = [[[NSBundle mainBundle] loadNibNamed:@"WebViewContainer" owner:nil options:nil] firstObject];
[webViewContainer startLoadingURL:kPersonalWebsiteURL];
webViewContainer.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight);

[self.view addSubview:webViewContainer];

我的startLoadingURL 方法:

 - (void)startLoadingURL:(NSString *)url
 
NSURL *urlToLoad = [NSURL URLWithString:url];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:urlToLoad];
[self.webView loadRequest:requestObj];
 

这是界面生成器配置:

这是错误消息,我只收到此错误消息,没有收到任何日志。

【问题讨论】:

【参考方案1】:

尝试将nil 重新键入为self 作为所有者参数。所以你可能不得不更换:

WebViewContainer *webViewContainer = [[[NSBundle mainBundle] loadNibNamed:@"WebViewContainer" owner:nil options:nil]

WebViewContainer *webViewContainer = [[[NSBundle mainBundle] loadNibNamed:@"WebViewContainer" owner:self options:nil]

【讨论】:

@pedroun 它有效... :) 崩溃的原因是什么。 很高兴为您提供帮助。将所有者设置为 self 意味着实例化 nib 的控制器将作为 Web 视图的代表。 @pedroun 但在我的 WebViewContainer 中,我已经符合 UIWebViewDelegateself.webView.delegate = self 。即使在那时它也崩溃了。 是的,因为两者都需要。 我都写在我的WebViewContainer 中。他们是否有任何限制 UIView 无法处理 WebView Delegate 或类似的东西

以上是关于在 WebVIew 中加载请求时应用程序崩溃 - 目标 C的主要内容,如果未能解决你的问题,请参考以下文章

在 WebView 中加载 YouTube 视频时,全屏选项不可用

在android应用程序的webview中加载url时启动画面

在 webview 中加载 URL 时面临问题

WebView在android中加载缓慢?

Android Webview 不会在 webview 中加载我的 FPDF 链接

在初始化程序中加载 webview 内容