我的ViewController有一个dataSource,以我为例,必须从Web服务中获取数据。当我在ViewController中假设dataSource-method将花费很长时间并且仅从另一个线程调用它们时,这是一种不好的做法吗?

因此,我执行以下操作:


显示项目清单
用户触摸单元格
随即显示DetailViewController,其父级为其dataSource
现在,DetailViewController

显示加载指示器
向dataSource询问另一个线程中的数据
完成后隐藏指示符(在主线程上调用)

最佳答案

老实说,我更喜欢您通常会看到的这种方法:


用户触摸单元格
当前的UIViewController向数据源询问数据
数据源向Web服务发出请求。
完成后,新的UIViewController会加载数据。


但是,如果将微调器放在Cell上或某种视觉参考显示背景正在发生变化,则可能会给用户带来良好的体验。无论哪种方式,有时都取决于口味,用户体验,甚至是客户要求。


  当我在ViewController中假设
  dataSource-methods将花费很长时间


Murphy Law ...因此,最好假设这种情况并为发生这种情况创建必要的机制。

10-07 13:44
查看更多