我应该在MonoTouch应用程序中的哪个位置进行维护

时间:2012-12-09 23:40:16

标签: ios xamarin.ios

我有一个用MonoTouch编写的iOS应用程序 - 每个新版本都添加了新功能,我需要在数据库中添加其他字段或执行数据维护任务(有时这些可能需要一分钟左右才能运行)。在许多情况下,在我们允许用户进入应用程序之前,需要更新数据/模式 - Obj-C或Monotouch中是否有标准化的方式或位置来在启动时执行这些维护任务?理想情况下,我想向用户显示加载显示,让他们知道这只是一次性的事情。

到目前为止我的想法:

  • 将它们放在AppDelegate中的FinishedLaunching中,但它似乎是错误的位置。

  • 将主视图更改为仅升级其数据库然后将其推送到下一个视图的视图,但这看起来有点矫枉过正。

2 个答案:

答案 0 :(得分:1)

完成启动绝对是这么长时间操作的错误地方(因为如果需要很长时间,iOS会杀死应用程序)。

在我看来,你的第二个选择是正确的方法。这样您就可以告诉用户他们在等什么。您还可以使用此视图告诉用户应用程序中的新功能

答案 1 :(得分:1)

  

将主视图更改为仅升级其数据库然后将其推送到下一个视图的视图,但这看起来有点矫枉过正。

我在我的一些应用中就是这样做的(here is an example)。

我所做的是检查AppDelegate FinishedLoading是否需要更新架构,如果需要,我会使window.RootViewController成为使用Default.png作为背景的DialogViewController,然后从那里做我的更新。

这给人一种幻觉,即在启动画面的顶部显示了一个进度条。

对于加载屏幕,您可以使用ATM Hud向最终用户显示进度条。

enter image description here