在UIViewController中的viewWillAppear或viewDidAppear中进行线程处理的正确位置是什么?

时间:2013-04-09 09:12:06

标签: iphone ios objective-c grand-central-dispatch

在UIViewController中的viewWillAppear或viewDidAppear中线程的正确位置。

1 个答案:

答案 0 :(得分:1)

一般情况下,如果要加载需要与视图控制器的所有其他视图一起查看(显示)的图像,则需要以SYNC方式加载(需要等到图像加载到viewController之前)在viewWillAppear中显示):

通过这种方式,您可以为视图控制器(包括图像)设置动画,但是,当然,您可以记住,从服务器加载图像需要时间(并且可能发生互联网错误), 所以,可能会发生用户点击进入你的viewControllers然后你的应用程序停止一段时间(可能太多,取决于你的图像的文件大小,互联网速度连接...)

因此,更好的方法可能是:

以ASYNC方式在viewDidAppear中加载图片:

用户立即看到动画到你的viewController(没有图像),并会看到你的图像何时可用(如果你愿意,可以使用新动画)。

无论如何,这取决于你的应用应该做什么,两种方式都可能是好的......