0

我正在查看其他人的代码,并注意到每次附加图像时都会刷新 Web 表单(单击“添加图像”,查找并选择图像,返回表单,表单变为空白)。而且,这是因为 url 被重新加载。在跟踪此问题时,我注意到原始开发人员覆盖了 WebViewController 中的 viewDidAppear 实例方法,如下所示:

- (void) viewDidAppear:(BOOL)animated {

    NSURL *url = [NSURL URLWithString:self.defaultUrl];

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    [self.webView loadRequest:requestObj];
}

苹果的文件说

您可以覆盖此方法以执行与呈现视图相关的其他任务。如果你重写了这个方法,你必须在你的实现中调用 super 。

我看到 super 没有被调用,我认为放入 NSURLRequest 不是一个好习惯。我删除了代码,添加了 URL 调用按钮操作,一切都很好,所以这主要是一个风格/学术问题。

你同意 loadRequest 不应该在那里吗?谢谢你的帮助。

4

1 回答 1

1

为什么不应该在那里?loadRequest它在另一个线程上异步工作,因此它不会阻塞主线程。

通过启动异步客户端请求连接到给定的 URL。

如果它表现出预期的方式,则由您决定。

(哦,是的,你应该打电话给 super in viewDidAppear

于 2013-06-27T23:12:46.440 回答