2

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

到目前为止我的想法:

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

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

4

2 回答 2

1

Finished Launching 对于这么长时间的操作来说绝对是错误的地方(因为如果需要很长时间,iOS 就会杀死应用程序)。

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

于 2012-12-10T10:47:40.637 回答
1

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

这就是我在一些应用程序中的做法(这里是一个示例)。

我所做的是在 AppDelegate 中检查FinishedLoading此版本是否需要更新架构,如果需要,我制作window.RootViewController一个使用 DialogViewControllerDefault.png作为背景的 DialogViewController,然后从那里进行更新。

这会给人一种错觉,即进度条显示在初始屏幕的顶部。

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

在此处输入图像描述

于 2012-12-10T12:44:12.690 回答