我正在查看其他人的代码,并注意到每次附加图片时都会刷新网页表单(点击“添加图片”,查找并选择图片,返回表单,表单变为空白)。而且,这是因为网址被重新加载。在跟踪这个问题时,我注意到原始开发人员覆盖了WebViewController中的viewDidAppear实例方法,如下所示:
- (void) viewDidAppear:(BOOL)animated {
NSURL *url = [NSURL URLWithString:self.defaultUrl];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
}
Apple的文档说
您可以覆盖此方法以执行与显示视图相关的其他任务。如果重写此方法,则必须在实现中的某个时刻调用super。
我认为超级没有被调用,我认为加入NSURLRequest并不是一个好习惯。我删除了代码,添加了URL调用按钮操作,一切都很好,所以这主要是一个风格/学术问题。
你是否同意loadRequest不应该在那里?谢谢你的帮助。
答案 0 :(得分:1)
为什么不应该在那里? loadRequest
在另一个线程上异步工作,因此它不会阻塞主线程。
通过启动异步客户端请求连接到给定的URL。
如果它的行为符合预期,则由您决定。
(哦,是的,你应该在viewDidAppear
)中打电话给超级