1

私のiOSアプリは、非同期ダウンロードを使用してインターネットからデータを読み取ります。だから私はイベントを持っています:開始、完了、エラー。

質問はユーザーエクスペリエンスについてです。データがダウンロードされているとき、ユーザーにはアクティビティインジケーターが表示され、すべてのUIをブロックします

問題は、UIをブロックすることが良い習慣かどうかです。

4

2 に答える 2

1

私は同様のユースケースでアプリに取り組んでいます: 特定のシステムに接続すると、それを説明する XML ファイルがあり、ダウンロードする必要があります (これは非同期で行われます)。その XML がダウンロードされるまで、ユーザーがそのシステムでできることは何もありません (別のシステムを開くことを除いて、それは同じ問題ですが)。その場合、ブロッキング スピナーがアプリに表示されます。

ただし、XML が更新されない場合もあり、その場合はタイムスタンプを確認できます。更新する必要がない場合は更新しません。ユーザーにはブロッキング スピナーは表示されません。

これを行うもう 1 つのアプリは Sonos です。ワイヤレス ネットワーク (システムの 1 つを使用) を検索しているときに、その接続なしでは何もできないため、ブロッキング スピナーが表示されます。

どちらの例でも、ユーザーはアプリを離れることはできますが、アプリ内で操作することはできませ

基本的にこれは次のようになります: リクエストが完了するまで何もできない場合を除き、ユーザーをブロックしないでください。

于 2013-01-31T16:58:22.683 に答える
0

データを非同期でダウンロードしている場合、UI のブロックを解除するのに苦労したため、UI をブロックする理由はほとんどありません。

データが必要なため、ブロックする必要がある特定の関数がある場合は、先に進みます。しかし、それ以外はすべて無料で、通常どおり応答する必要があります。

于 2013-01-31T16:56:43.570 に答える