2016-05-09 51 views
1

我正在Swift中創建一個應用程序,我需要在服務器的第一個屏幕上加載數據。我不想在第一個屏幕上顯示加載...。我想在我展示第一個屏幕之前做到這一點,無論是在LaunchScreen還是AppDelegate。我在AppDelegate的應用程序函數中成功地調用了API,但是即使我沒有完成網絡調用,它也會進入第一個屏幕,所以如何才能延遲移動到第一個屏幕,直到我的網絡調用在Swift中完成。Swift中的AppDelegate中的網絡調用

+0

我建議不要在'didFinishLaunchingWithOptions'中持有你的應用程序,因爲如果你的應用程序沒有在一定的時間內完成該方法(我認爲是10秒),Apple會退出你的應用程序。 – dudeman

回答

3

您可以簡單地創建第一個屏幕,使其與啓動屏幕相同,在那裏添加API調用,並在完成後再進入下一個屏幕。

欲瞭解更多信息,請向我們展示您的代碼在AppDelegate中給你更正確的答案。

+0

我試圖做到這一點,但爲此,我需要刪除LaunchScreen,如果我這樣做,無論是在屏幕的頂部和底部顯示白色屏幕或黑色空間。你能建議我怎樣才能快速擺脫Laucher Screen。 –

+0

您可以保留LaunScreen。之後,創建與LaunchScreen具有相同圖像的簡單viewController,並在其中包含API調用。 對於新項目,您有LaunchScreen和ViewController。將LaunchScreen中的圖像添加到視圖控制器中,並在其中添加API調用。當請求完成時,然後打開ViewController2 –

+0

這將顯示啓動畫面2次。 1從lauchscreen和第二個視圖控制器。 –