异步方法完成后在 ViewController 中重新加载数据

Posted

技术标签:

【中文标题】异步方法完成后在 ViewController 中重新加载数据【英文标题】:Reload data in ViewController after asynchronous method finished 【发布时间】:2015-03-08 22:08:31 【问题描述】:

我有一个UIViewController 和一个UIImageView 显示初始图像。

我使用异步下载另一个图像 --> 存储在目录中,然后我将 UIImageView 更改为我新下载的图像。

因此,我希望 UIViewController 刷新来处理新数据。 UIViewController 中是否有类似于TableViewController 中的reloaddata() 的方法?

PS:在这种情况下,我不想删除 ImageView 并添加新的 Subview。

【问题讨论】:

【参考方案1】:

我想我需要更多信息才能完全回答这个问题,但是如果您更改 UIImageView 的 .image 属性,那么图像应该会更改。您可能必须在主队列上执行此操作才能使其正常工作,因为 UI 更改必须在主队列中完成。

dispatch_async(dispatch_get_main_queue()) 
    //Change UIImageView.image property here

【讨论】:

以上是关于异步方法完成后在 ViewController 中重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章

js等待异步执行完成后在执行

js等待异步执行完成后在执行

从委托的源 ViewController 调用异步闭包

利用Promise实现数据多个请求加载完成时执行某个方法

Django 异步化库celery

当另一个类完成处理所需数据时如何中断 Viewcontroller