IOS异步下载

时间:2013-01-31 16:43:48

标签: ios asynchronous

我的iOS应用使用异步下载来从互联网上读取数据。所以我有事件:开始,完成,错误。

问题是关于用户体验。 下载数据时,用户看到活动指示器,我阻止所有UI

问题是阻止用户界面是一种好习惯吗?

2 个答案:

答案 0 :(得分:1)

我正在研究一个具有类似用例的应用程序:当我们连接到给定系统时,有一个描述它的XML文件,我们必须下载(这是异步完成的)。在XML下载之前,用户无法对所述系统做任何事情,用户也无需做任何其他事情(除了打开另一个系统,但这是同样的问题)。在这种情况下,阻止微调器显示在应用程序中。

但是,在某些情况下,XML不会更新,我们可以检查时间戳。如果我们不需要更新它,我们就不会,并且用户看不到阻塞微调器。

另一个执行此操作的应用程序是Sonos - 他们在搜索无线网络(使用其中一个系统)时有一个阻塞微调器,因为没有这种连接他们就无法做任何事情。

请注意,在这两个示例中,用户仍然可以离开应用,他们只是无法在应用中执行

基本上这最终是:不要阻止用户,除非他们在请求完成之前什么都不做。

答案 1 :(得分:0)

如果您以异步方式下载数据,那么阻止用户界面的理由很少,因为您遇到了解锁它的麻烦。

如果有特定功能,您必须阻止,因为它需要数据继续。但其他一切都应该是正常的自由和反应。