2012-12-09 100 views
2

我有一個用MonoTouch編寫的iOS應用程序 - 每個新版本都添加了新功能,我需要向數據庫添加其他字段或執行數據維護任務(有時可能需要運行一分鐘左右)。在許多情況下,在我們允許用戶進入應用程序之前,數據/模式將需要更新 - Obj-C或Monotouch中是否有標準化的方式或位置來在啓動時執行這些維護任務?理想情況下,我想要向用戶顯示加載顯示,讓他們知道這是一次性的事情。我應該在我的MonoTouch應用程序中執行維護

我的想法至今:

  • 中的AppDelegate內將它們放置在FinishedLaunching,但它似乎是錯誤的地點。

  • 將主頁視圖更改爲僅升級其數據庫並將其推送到下一個視圖的視圖,但這看起來像是矯枉過正。

回答

1

更改主圖,其僅升級他們的數據庫視圖新的,然後推他們到下一個視圖的用戶,但這似乎是大材小用。

這就是我在我的幾個應用程序中這樣做的(here is an example)。

我要做的就是在AppDelegate中FinishedLoading檢查,如果這個版本需要更新的模式,如果它確實我做window.RootViewController它使用Default.png爲背景,然後從那裏做我更新一個DialogViewController。

這給出了在屏幕上方顯示進度條的錯覺。

對於加載屏幕,您可以使用ATM Hud向最終用戶顯示進度條。

enter image description here

+0

這是我最終採取的方法。 – Symmetry

1

完成啓動對於如此長時間的操作來說肯定是錯誤的地方(因爲如果iOS需要花費很長時間纔會殺死應用程序)。

你的第二個選擇在我看來是正確的做法。這樣你可以告訴用戶他們正在等待什麼。你也可以使用該視圖分不清什麼是在應用程序

相關問題