2017-09-30 47 views
0

我正在創建一個簡單的手錶套件應用程序,顯示當地的公交時刻表。爲了得到時間表,我必須向巴士公司的網站提出請求並解析HTML。 (他們沒有公開的API ....)手錶套件Asynchronus數據

Alamofire是用來做一個請求,然後解析與SwiftySoup的HTML。然後將數據保存到具有結構的數組中,並創建表。然後數組被保存到一個JSON文件。因此,當應用程序強制關閉並重新開始時,應用程序會檢查當前時間是否超過第一個總線時間,如果該應用程序爲true,則應用程序再次請求該網站以獲取下一個時間表,否則它只會創建包含時間表數量的表格。

由於Alamofire我 s做異步請求,即使它沒有任何數據,應用程序完成「開始」。我如何「強制」應用程序在顯示UI之前等待請求和解析完成?

+0

你不能,因爲應用程序將被殺害。爲加載狀態添加一些UI。 –

+0

Okey。我可以讓應用程序加載另一個處於加載狀態的界面控制器,並等待它完成,然後顯示tabel?當我按下「homebutton」並再次打開應用程序時,如何讓應用程序檢查是否需要再次更新數據? – PureRushh

回答

0

由於喬什卡斯韋爾提到這是不可能的。所以爲加載狀態創建了UI。

如果應用程序沒有任何緩存時間表或緩存的數據是舊的,應用程序推裝載interfacecontroller。當加載完成時,接口控制器自行調用,主接口控制器使用相關的UI進行初始化。