我有一个用MonoTouch编写的iOS应用程序 - 每个新版本都添加了新功能,我需要在数据库中添加其他字段或执行数据维护任务(有时这些可能需要一分钟左右才能运行)。在许多情况下,在我们允许用户进入应用程序之前,需要更新数据/模式 - Obj-C或Monotouch中是否有标准化的方式或位置来在启动时执行这些维护任务?理想情况下,我想向用户显示加载显示,让他们知道这只是一次性的事情。
到目前为止我的想法:
将它们放在AppDelegate中的FinishedLaunching中,但它似乎是错误的位置。
将主视图更改为仅升级其数据库然后将其推送到下一个视图的视图,但这看起来有点矫枉过正。
答案 0 :(得分:1)
完成启动绝对是这么长时间操作的错误地方(因为如果需要很长时间,iOS会杀死应用程序)。
在我看来,你的第二个选择是正确的方法。这样您就可以告诉用户他们在等什么。您还可以使用此视图告诉用户应用程序中的新功能
答案 1 :(得分:1)
将主视图更改为仅升级其数据库然后将其推送到下一个视图的视图,但这看起来有点矫枉过正。
我在我的一些应用中就是这样做的(here is an example)。
我所做的是检查AppDelegate FinishedLoading
是否需要更新架构,如果需要,我会使window.RootViewController
成为使用Default.png
作为背景的DialogViewController,然后从那里做我的更新。
这给人一种幻觉,即在启动画面的顶部显示了一个进度条。
对于加载屏幕,您可以使用ATM Hud向最终用户显示进度条。