在 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
中,我已经符合 UIWebViewDelegate
和 self.webView.delegate = self
。即使在那时它也崩溃了。
是的,因为两者都需要。
我都写在我的WebViewContainer
中。他们是否有任何限制 UIView 无法处理 WebView Delegate 或类似的东西以上是关于在 WebVIew 中加载请求时应用程序崩溃 - 目标 C的主要内容,如果未能解决你的问题,请参考以下文章
在 WebView 中加载 YouTube 视频时,全屏选项不可用
在android应用程序的webview中加载url时启动画面