gpt4 book ai didi

ios - UIWebView。在 viewDidDisappear 中重新加载时访问错误

转载 作者:行者123 更新时间:2023-11-29 04:42:38 25 4
gpt4 key购买 nike

我正在尝试从 UIViewController 的 viewDidDisappear 中的 UIWebView 本地文件重新加载内容。 Badaccess 被捕获。但如果我在 viewWillDisappear 中编写相同的代码,它就会起作用。可能是什么原因?有一次我听说 UIWebView 在不可见时无法重新加载其内容(不确定)。

我的代码(希望足够):

@interface WebViewController : UIViewController <UIWebViewDelegate> {
ExtendedWebView * webView;
}
@property (nonatomic, retain) ExtendedWebView * webView;
@end

//WebViewController implementation
- (void)loadView
{
[super loadView];
WebViewCachingSingleton * webViewSingleton = [WebViewCachingSingleton sharedService];
ExtendedWebView * newWebView = [webViewSingleton getAvailableWebViewResource];//here I get ExtendedWebView. it works =)
newWebView.frame = CGRectMake(0, 0, 320, 400);
newWebView.delegate = self;
[self.view addSubview:newWebView];
self.webView = newWebView;
}

- (void)viewDidDisappear:(BOOL)animated
{
[[WebViewCachingSingleton sharedService] makeWebViewUnused:self.webView];
}

//WebViewCachingSingleton:
- (void) makeWebViewUnused : (ExtendedWebView *) aWebView
{
aWebView.isFree = YES;
[aWebView reload];
}

最佳答案

这不起作用,因为viewDidDisappear在 View 消失时被调用,因此所有 subview 都被释放。 viewWillDisappear 在释放与该 View 关联的所有对象之前调用。

所以你正在尝试调用已经发布的 UIWebView 的 reload 方法。这基本上就是它崩溃的原因。

希望对你有帮助

关于ios - UIWebView。在 viewDidDisappear 中重新加载时访问错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com