哪个iOS LifeCycle功能更适合发布Web请求?

时间:2015-08-28 10:44:38

标签: ios swift

我是swift / iOS的新手。想在ViewController中调用Web服务。 那么我应该在viewwillappear和viewdidappear之间调用web服务?

5 个答案:

答案 0 :(得分:3)

我会在viewDidLoad之前调用网络服务,这是在viewWillAppearviewDidAppear之前调用的,因此您可以在查看视图后立即获得结果。

我更倾向于使用viewDidAppear来启动动画序列等,而不是获取数据。

答案 1 :(得分:1)

它对你而言,取决于具体情况。如果你想在加载视图之前做一些事情,例如少量设置,调用API,屏幕大小(视图大小和其他设计),viewwillappear会变得有用。 当你想在加载视图后做一些事情时,viewdidapear也很重要,

答案 2 :(得分:0)

viewWillAppear之前调用

viewDidAppear,因此我认为最好在viewWillAppear中调用网络服务。

答案 3 :(得分:0)

如果要优化Internet和/或API使用,最好在viewDidLoad:方法中使用,因为每次加载(而不是显示)时,它只会被调用一次。想象一下,在这个屏幕上,你转到另一个屏幕,当你回到原来的屏幕时,viewDidLoad:将不再被调用,所以你将不会使用尽可能多的互联网。

如果您不想要这种行为 - 您希望屏幕每次出现时都会更新详细信息,您应该使用viewWillAppear:,因为它会为用户执行更快的回答。

更多信息here

答案 4 :(得分:-1)

最好的地方是在viewDidLoad中拨打网络服务。到那时你已经知道要拨打哪个电话,你可以向用户显示UIActivityIndicator以显示一些进展。