我有一个ViewController(带有UIWebView)和一个CreateEntryViewController(带有另一个UIWebView)。当我用[self presentViewController:vc2 animated:TRUE completion:nil];
更改为CreateEntryViewController时。
在此次加载时,我调用-(void)updateView
执行以下操作:
- (void)updateView {
NSLog(@"CreateEntryViewController: updateView");
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
if (appDelegate.session.isOpen) {
NSString *urlAddress = @"http://google.com/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[createEntryWebView loadRequest:requestObj];
}
}
我可以确认是否显示了日志消息,因此调用了该函数,但我的UIWebView仍为空 - 这让我相信它与createEntryWebView
没有正确链接。我已经按照我在主ViewController(可以工作)中完成的方式初始化它。
我是Objective C和iOS开发的新手 - 有什么我可能错过的吗?代表?什么?
提前致谢, 卡斯帕
答案 0 :(得分:2)
您是否已将UIWebViewDelegate
添加到班级?如果您的createEntryWebView
是IBOutlet
,那么您应该确保它已正确连接,并且IB中的委托属性设置为File's Owner
。如果它不是IBOutlet
,请确保初始化并将代理设置为createEntryWebView
。
类似这样的事情
createEntryWebView.delegate=self;
要确定您的网络视图是否响应了您的请求,请从UIWebViewDelegate
– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError: