0

在从 firebase 获取所有数据之前,用户可能无法与我的应用交互。所以到目前为止我的新手计划是:

  1. 启动微调器
  2. 从 firebase 获取数据(异步)
  3. 当第 2 步异步作业完成后,隐藏微调器

我作为新手的第一个想法通常不是要走的路,必须有一种更聪明的方法,其中涉及框架(可能是应用程序生命周期中的某个地方)或最佳实践模式。
我在www上找不到任何有用的东西。链接也可能会有所帮助。

4

2 回答 2

2

您应该在 ViewDidLoad() 中获取数据

viewDidLoad() - 当视图控制器的内容视图(其视图层次结构的顶部)被创建并从情节提要加载时调用。视图控制器的出口保证在调用此方法时具有有效值。使用此方法执行视图控制器所需的任何其他设置。

通常,iOS 只调用一次 viewDidLoad(),当它的内容视图第一次被创建时;但是,第一次实例化控制器时不一定会创建内容视图。相反,它是在系统或任何代码第一次访问控制器的视图属性时延迟创建的。

当您在加载中查看时,您的数据将被提取。

如果您想在显示视图时刷新数据,那么我可以使用。

viewWillAppear() - 在视图控制器的内容视图添加到应用程序的视图层次结构之前调用。使用此方法触发在内容视图显示在屏幕上之前需要发生的任何操作。尽管有这个名字,只是因为系统调用了这个方法,它并不能保证内容视图会变得可见。该视图可能被其他视图遮挡或隐藏。此方法只是表明内容视图即将添加到应用程序的视图层次结构中。

于 2018-01-19T09:00:20.727 回答
0

我建议您创建一个视图控制器,该控制器负责显示应用程序的加载并在后台与您的后端同步。拥有这样的视图控制器以及加载指示器,您还可以显示百分比进度以获得更好的用户体验。同步完成后,您可以导航到家庭控制器。

其次,如果您再次启动时再次加载相同的数据。添加同步检查,以便一次又一次下载不同的数据,从而保留应用程序的时间和空间。

于 2018-01-19T10:01:36.357 回答