IOS异步下载

标签 ios asynchronous

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

问题是关于用户体验的。 下载数据时,用户会看到事件指示器,我会屏蔽所有 UI

问题是屏蔽 UI 是否是一种好的做法?

最佳答案

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

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

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

请注意,在这两个示例中,用户仍然可以离开应用,只是不能在应用中进行操作。

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

关于IOS异步下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630813/

相关文章:

ios - UITextView 文本对齐

c++ - 将结构数组从 C++ 传递到 swift

ios-Apple Mach-O 链接器错误

ios - 推送 View Controller 和添加 Controller View 有什么区别?

c# - 使用 NetworkStream.WriteAsync 检测错误

javascript - 检测文件是否应该从 UIWebview 下载

c# - C#异步套接字(* Async,SocketAsyncEventArgs)

javascript - 使用 require.js !async 插件加载 youtube iframe api

iOS 标签即使在主线程中也不会更新文本

multithreading - WP7 - 访问 UI 线程?