2017-09-30 10 views
0

私はローカルのバスのスケジュールを表示するシンプルな時計キットアプリを作成しています。スケジュールを取得するには、私はバス会社のウェブサイトにリクエストしてHTMLを解析する必要があります。 (彼らは公開APIを持っていません....)腕時計キットAsyncusデータ

Alamofireは、SwiftySoupでHTMLを要求して解析するために使用されます。データは構造体を持つ配列に保存され、テーブルが作成されます。その後、配列はJSONファイルに保存されます。アプリが強制終了して再び開始されると、アプリは現在の時刻が最初のバス時刻を過ぎているかどうかをチェックします。trueの場合、アプリは次のスケジュールを取得するためにウェブサイトを再度リクエストします。

Alamofire iが非同期要求を行っているため、データがない場合でもアプリケーションは「開始」を終了します。 UIを表示する前に、アプリケーションがリクエストを待って解析を終了するように強制するにはどうすればよいですか?

+0

アプリが強制終了されるため、できません。ロード状態のUIをいくつか追加します。 –

+0

Okey。アプリケーションが読み込み状態の別のインターフェイスコントローラを読み込ませ、それが終了してからテーブルを表示するのを待つことができますか?そして、「ホームボタン」を押してアプリを再び開くと、データを再度更新する必要があるかどうか、アプリのチェックをどうやって行うことができますか? – PureRushh

答えて

0

ジョシュ・カスウェルは言いましたが、これは不可能です。ロードされた状態のために作成されたUI。

アプリにキャッシュされたスケジュールがない場合、またはキャッシュされたデータが古い場合、アプリは読み込み中のインタフェースコントローラをプッシュしました。ロードが終了すると、インタフェースコントローラがポップし、メインのインタフェースコントローラがコルードされたUIで初期化されました。

関連する問題