Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 重新加载UIWebView_Iphone_Url_Uiwebview_Webview_Nsurlrequest - Fatal编程技术网

Iphone 重新加载UIWebView

Iphone 重新加载UIWebView,iphone,url,uiwebview,webview,nsurlrequest,Iphone,Url,Uiwebview,Webview,Nsurlrequest,我在viewDidLoad中使用这样的UIWebView: webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 88, 320, 400)]; // init and create the UIWebView webView.autoresizesSubviews = YES; webView.userInteractionEnabled = NO; webView.autoresizingMask=(UIV

我在viewDidLoad中使用这样的UIWebView:

webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 88, 320, 400)]; //  init and create the UIWebView
    webView.autoresizesSubviews = YES;
    webView.userInteractionEnabled = NO;
    webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
    [webView  setDelegate:self];//set the web view delegates for the web view to be itself
    NSURLRequest *requestObject = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com"]];//Create a URL object & Set the URL to go to for your UIWebView
    [webView loadRequest:requestObject];//load the URL into the web view.
    [self.view addSubview:webView];//add the web view to the content view
    [webView release], webView = nil;
当我尝试更改页面时,我尝试但它不起作用:

[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
[webView reload];
上面的代码是一个TabBar按钮的操作

**编辑: 当我评论

[webView release], webView = nil;
当我按下按钮时,我可以看到苹果的网站,但不能看到facebook!屏幕在苹果网站上刷新,而不是在facebook上**


感谢您的帮助;-)

您已发布并将webView设置为零。因此,该对象不再存在。您正在调用loadRequest并在一个nil对象上重新加载,该对象将不起任何作用

假设类中有webView作为实例变量,请删除该行

[webView release], webView = nil;
相反,当您调用

[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];

然后,您将在一个不会执行任何操作的nil对象上调用它。

我看到的潜在问题是,在将webView值添加为子视图后,但在重新加载之前,您将其设置为nil:

 [webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
 [webView reload];

这里的
webView
为零。。。对象仍然存在(因为它嵌入到视图中),但变量不再指向它,因此消息被忽略。

您在哪里尝试过这段代码

[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
[webView reload];
您已经发布了webview并将其设为零。因此,如果你在加载www.apple.com后再这样做,它将无法工作

[webView release], webView = nil;
删除上述两行一次,然后重试。它应该会起作用。 希望对您有所帮助。

无需重新加载

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
     [webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
}

这可能会有帮助

阅读您的代码时,我猜您的
webView
在头文件中声明为
@property
。在加载Apple站点后释放此对象。我认为这就是为什么它没有加载facebook网站的原因

[webView发布]只能放在
-(void)dealloc
方法中


请让我知道它是否有效

您不需要执行[webView重新加载];在[webView loadRequest:…]之后;。好的,它现在工作得很好!我已经删除了这两行,并把你的和所有的是好的,谢谢@clement别忘了,您仍然需要在webView上调用release,否则会泄漏内存。把它放在你的dealloc方法中是的,谢谢,我在dealloc方法中放了“[webView release]”